{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-10-07T05:42:38.605955Z",
     "start_time": "2020-10-07T05:42:34.943745Z"
    }
   },
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "1. 数据内容"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-10-07T05:43:18.278224Z",
     "start_time": "2020-10-07T05:42:38.613955Z"
    }
   },
   "outputs": [],
   "source": [
    "df_user = pd.read_csv('./fresh_comp_offline/tianchi_fresh_comp_train_user.csv')\n",
    "df_item= pd.read_csv('./fresh_comp_offline/tianchi_fresh_comp_train_item.csv')\n",
    "df_sample = pd.read_csv('./fresh_comp_offline/result_sample.csv')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "1.1 用户在商品全集上的移动端行为数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-10-07T05:43:18.373229Z",
     "start_time": "2020-10-07T05:43:18.284224Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>user_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>behavior_type</th>\n",
       "      <th>user_geohash</th>\n",
       "      <th>item_category</th>\n",
       "      <th>time</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>10001082</td>\n",
       "      <td>285259775</td>\n",
       "      <td>1</td>\n",
       "      <td>97lk14c</td>\n",
       "      <td>4076</td>\n",
       "      <td>2014-12-08 18</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>10001082</td>\n",
       "      <td>4368907</td>\n",
       "      <td>1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>5503</td>\n",
       "      <td>2014-12-12 12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>10001082</td>\n",
       "      <td>4368907</td>\n",
       "      <td>1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>5503</td>\n",
       "      <td>2014-12-12 12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>10001082</td>\n",
       "      <td>53616768</td>\n",
       "      <td>1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>9762</td>\n",
       "      <td>2014-12-02 15</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>10001082</td>\n",
       "      <td>151466952</td>\n",
       "      <td>1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>5232</td>\n",
       "      <td>2014-12-12 11</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    user_id    item_id  behavior_type user_geohash  item_category  \\\n",
       "0  10001082  285259775              1      97lk14c           4076   \n",
       "1  10001082    4368907              1          NaN           5503   \n",
       "2  10001082    4368907              1          NaN           5503   \n",
       "3  10001082   53616768              1          NaN           9762   \n",
       "4  10001082  151466952              1          NaN           5232   \n",
       "\n",
       "            time  \n",
       "0  2014-12-08 18  \n",
       "1  2014-12-12 12  \n",
       "2  2014-12-12 12  \n",
       "3  2014-12-02 15  \n",
       "4  2014-12-12 11  "
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_user.head(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-10-07T05:43:18.460234Z",
     "start_time": "2020-10-07T05:43:18.392230Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>字段</th>\n",
       "      <th>字段说明</th>\n",
       "      <th>提取说明</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>user_id</td>\n",
       "      <td>用户标识</td>\n",
       "      <td>抽样&amp;字段脱敏</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>item_id</td>\n",
       "      <td>商品标识</td>\n",
       "      <td>字段脱敏</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>behavior_type</td>\n",
       "      <td>用户对商品的行为类型</td>\n",
       "      <td>包括浏览、收藏、加购物车、购买，对应取值分别是1、2、3、4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>user_geohash</td>\n",
       "      <td>用户位置的空间标识</td>\n",
       "      <td>可以为空,由经纬度通过保密的算法生成</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>item_category</td>\n",
       "      <td>商品分类标识</td>\n",
       "      <td>字段脱敏</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>time</td>\n",
       "      <td>行为时间</td>\n",
       "      <td>精确到小时级别</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     字段           字段说明                                         提取说明\n",
       "0  user_id        用户标识                                      抽样&字段脱敏\n",
       "1  item_id        商品标识                                         字段脱敏\n",
       "2  behavior_type        用户对商品的行为类型   包括浏览、收藏、加购物车、购买，对应取值分别是1、2、3、4\n",
       "3  user_geohash        用户位置的空间标识                 可以为空,由经纬度通过保密的算法生成\n",
       "4  item_category    商品分类标识                                     字段脱敏\n",
       "5  time           行为时间                                      精确到小时级别"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_user_desc = pd.read_csv('./fresh_comp_offline/user_desc.csv', sep='|')\n",
    "df_user_desc"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "1.2 商品子集"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-10-07T05:43:18.512237Z",
     "start_time": "2020-10-07T05:43:18.469235Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>item_id</th>\n",
       "      <th>item_geohash</th>\n",
       "      <th>item_category</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>100002303</td>\n",
       "      <td>NaN</td>\n",
       "      <td>3368</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>100003592</td>\n",
       "      <td>NaN</td>\n",
       "      <td>7995</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>100006838</td>\n",
       "      <td>NaN</td>\n",
       "      <td>12630</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>100008089</td>\n",
       "      <td>NaN</td>\n",
       "      <td>7791</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>100012750</td>\n",
       "      <td>NaN</td>\n",
       "      <td>9614</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     item_id item_geohash  item_category\n",
       "0  100002303          NaN           3368\n",
       "1  100003592          NaN           7995\n",
       "2  100006838          NaN          12630\n",
       "3  100008089          NaN           7791\n",
       "4  100012750          NaN           9614"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_item.head(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-10-07T05:43:18.610243Z",
     "start_time": "2020-10-07T05:43:18.552239Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>字段</th>\n",
       "      <th>字段说明</th>\n",
       "      <th>提取说明</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>item_id</td>\n",
       "      <td>商品标识</td>\n",
       "      <td>抽样&amp;字段脱敏</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>item_ geohash</td>\n",
       "      <td>商品位置的空间标识</td>\n",
       "      <td>可以为空,由经纬度通过保密的算法生成</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>item_category</td>\n",
       "      <td>商品分类标识\\t</td>\n",
       "      <td>字段脱敏</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     字段            字段说明                            提取说明\n",
       "0  item_id         商品标识                         抽样&字段脱敏\n",
       "1  item_ geohash        商品位置的空间标识    可以为空,由经纬度通过保密的算法生成\n",
       "2  item_category    商品分类标识\\t                       字段脱敏"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_item_desc = pd.read_csv('./fresh_comp_offline/item_desc.csv', sep='|')\n",
    "df_item_desc"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "2. 赛题目标  \n",
    "用户对商品子集的购买预测"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-10-07T05:43:18.653245Z",
     "start_time": "2020-10-07T05:43:18.623244Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>user_id</th>\n",
       "      <th>item_id</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>158978240</td>\n",
       "      <td>25076259</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>6824287</td>\n",
       "      <td>25076172</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>346346167</td>\n",
       "      <td>25076259</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2337792</td>\n",
       "      <td>4830</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>25076259</td>\n",
       "      <td>8147779</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     user_id   item_id\n",
       "0  158978240  25076259\n",
       "1    6824287  25076172\n",
       "2  346346167  25076259\n",
       "3    2337792      4830\n",
       "4   25076259   8147779"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_sample.head(5)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "3. 问题综述  \n",
    "采用前面一个月的用户-行为数据，预测在接下来的一天用户在指定商品子集上的购买情况。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "4.数据分析  \n",
    "4.1 规模和属性  \n",
    "数据集D有2千多万条数据，数据集P有62万条数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-10-07T05:43:18.686247Z",
     "start_time": "2020-10-07T05:43:18.663246Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "数据集D: 23291027条数据\n",
      "数据集P: 620918条数据\n"
     ]
    }
   ],
   "source": [
    "print('数据集D: {}条数据'.format(df_user.shape[0]))  #数据集D\n",
    "print('数据集P: {}条数据'.format(df_item.shape[0]))  #数据集D"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "4.2 点击购买转化率  \n",
    "我们的目标是预测购买事件的发生，在这样的业务背景下，我们先关注一下CTR指数（操作购买转化率），即用户购买商品与需要操作的次数的平均比率。通过pandas统计value_counts()统计behavior_type数据列可得：  \n",
    "  \n",
    "CTR = 购买操作样本数 / 样本总数 = 232579 / 23291027 = 0.009986 ≈ 1%  \n",
    "  \n",
    "即用户平均下来大约要进行100次操作（各种商品的点击查看、加购物车等行为），才会生成一次购买决定"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-10-07T05:43:19.369286Z",
     "start_time": "2020-10-07T05:43:18.693248Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>behavior_type</th>\n",
       "      <th>count</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>21940520</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>3</td>\n",
       "      <td>659437</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2</td>\n",
       "      <td>458491</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>232579</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   behavior_type     count\n",
       "0              1  21940520\n",
       "1              3    659437\n",
       "2              2    458491\n",
       "3              4    232579"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tmp = df_user['behavior_type'].value_counts().reset_index()\n",
    "df_behavior_stat= pd.DataFrame(tmp)\n",
    "df_behavior_stat.columns = ['behavior_type','count']\n",
    "df_behavior_stat"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-10-07T05:43:19.530295Z",
     "start_time": "2020-10-07T05:43:19.375287Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "购买转换率CTR = 232579 / 23291027 = 0.009985776926023916\n"
     ]
    }
   ],
   "source": [
    "order_times = df_behavior_stat.loc[df_behavior_stat['behavior_type']==4]['count'].tolist()[0]\n",
    "opt_times = df_user.shape[0]\n",
    "ctr = order_times / opt_times\n",
    "print('购买转换率CTR = {} / {} = {}'.format(order_times, opt_times, order_times/opt_times))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "4.3 宏观行为统计  \n",
    "这里要按时间对数据进行一些可视化呈现，暂不考虑由“地理位置-时区”等因素，默认为统一的时间尺度。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-10-07T05:43:54.268282Z",
     "start_time": "2020-10-07T05:43:19.540296Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>user_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>behavior_type</th>\n",
       "      <th>user_geohash</th>\n",
       "      <th>item_category</th>\n",
       "      <th>time</th>\n",
       "      <th>day</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>10001082</td>\n",
       "      <td>285259775</td>\n",
       "      <td>1</td>\n",
       "      <td>97lk14c</td>\n",
       "      <td>4076</td>\n",
       "      <td>2014-12-08 18</td>\n",
       "      <td>2014-12-08</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>10001082</td>\n",
       "      <td>4368907</td>\n",
       "      <td>1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>5503</td>\n",
       "      <td>2014-12-12 12</td>\n",
       "      <td>2014-12-12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>10001082</td>\n",
       "      <td>4368907</td>\n",
       "      <td>1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>5503</td>\n",
       "      <td>2014-12-12 12</td>\n",
       "      <td>2014-12-12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>10001082</td>\n",
       "      <td>53616768</td>\n",
       "      <td>1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>9762</td>\n",
       "      <td>2014-12-02 15</td>\n",
       "      <td>2014-12-02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>10001082</td>\n",
       "      <td>151466952</td>\n",
       "      <td>1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>5232</td>\n",
       "      <td>2014-12-12 11</td>\n",
       "      <td>2014-12-12</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    user_id    item_id  behavior_type user_geohash  item_category  \\\n",
       "0  10001082  285259775              1      97lk14c           4076   \n",
       "1  10001082    4368907              1          NaN           5503   \n",
       "2  10001082    4368907              1          NaN           5503   \n",
       "3  10001082   53616768              1          NaN           9762   \n",
       "4  10001082  151466952              1          NaN           5232   \n",
       "\n",
       "            time         day  \n",
       "0  2014-12-08 18  2014-12-08  \n",
       "1  2014-12-12 12  2014-12-12  \n",
       "2  2014-12-12 12  2014-12-12  \n",
       "3  2014-12-02 15  2014-12-02  \n",
       "4  2014-12-12 11  2014-12-12  "
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_user['day'] = df_user['time'].map(lambda time: time.split(' ')[0])\n",
    "df_user.head(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-10-07T05:43:58.672534Z",
     "start_time": "2020-10-07T05:43:54.274283Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date</th>\n",
       "      <th>ope_times</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2014-11-18</td>\n",
       "      <td>684628</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2014-11-19</td>\n",
       "      <td>687528</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2014-11-20</td>\n",
       "      <td>672189</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2014-11-21</td>\n",
       "      <td>634122</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2014-11-22</td>\n",
       "      <td>668509</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>2014-11-23</td>\n",
       "      <td>722978</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>2014-11-24</td>\n",
       "      <td>718217</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>2014-11-25</td>\n",
       "      <td>699413</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>2014-11-26</td>\n",
       "      <td>679323</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>2014-11-27</td>\n",
       "      <td>689855</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>2014-11-28</td>\n",
       "      <td>658806</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>2014-11-29</td>\n",
       "      <td>684442</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>2014-11-30</td>\n",
       "      <td>751093</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>2014-12-01</td>\n",
       "      <td>744363</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>2014-12-02</td>\n",
       "      <td>753810</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>2014-12-03</td>\n",
       "      <td>788689</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>2014-12-04</td>\n",
       "      <td>745391</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>2014-12-05</td>\n",
       "      <td>693593</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>2014-12-06</td>\n",
       "      <td>732821</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>2014-12-07</td>\n",
       "      <td>763498</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>2014-12-08</td>\n",
       "      <td>753138</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>2014-12-09</td>\n",
       "      <td>767838</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>2014-12-10</td>\n",
       "      <td>788712</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>2014-12-11</td>\n",
       "      <td>944979</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>2014-12-12</td>\n",
       "      <td>1344980</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>2014-12-13</td>\n",
       "      <td>777013</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>2014-12-14</td>\n",
       "      <td>779285</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>2014-12-15</td>\n",
       "      <td>764085</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>2014-12-16</td>\n",
       "      <td>751370</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>2014-12-17</td>\n",
       "      <td>734520</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>2014-12-18</td>\n",
       "      <td>711839</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          date  ope_times\n",
       "0   2014-11-18     684628\n",
       "1   2014-11-19     687528\n",
       "2   2014-11-20     672189\n",
       "3   2014-11-21     634122\n",
       "4   2014-11-22     668509\n",
       "5   2014-11-23     722978\n",
       "6   2014-11-24     718217\n",
       "7   2014-11-25     699413\n",
       "8   2014-11-26     679323\n",
       "9   2014-11-27     689855\n",
       "10  2014-11-28     658806\n",
       "11  2014-11-29     684442\n",
       "12  2014-11-30     751093\n",
       "13  2014-12-01     744363\n",
       "14  2014-12-02     753810\n",
       "15  2014-12-03     788689\n",
       "16  2014-12-04     745391\n",
       "17  2014-12-05     693593\n",
       "18  2014-12-06     732821\n",
       "19  2014-12-07     763498\n",
       "20  2014-12-08     753138\n",
       "21  2014-12-09     767838\n",
       "22  2014-12-10     788712\n",
       "23  2014-12-11     944979\n",
       "24  2014-12-12    1344980\n",
       "25  2014-12-13     777013\n",
       "26  2014-12-14     779285\n",
       "27  2014-12-15     764085\n",
       "28  2014-12-16     751370\n",
       "29  2014-12-17     734520\n",
       "30  2014-12-18     711839"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tmp = df_user.groupby('day').size().reset_index()\n",
    "df_day_op = pd.DataFrame(tmp)\n",
    "df_day_op.columns = ['date', 'ope_times']\n",
    "df_day_op"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-10-07T05:44:01.325686Z",
     "start_time": "2020-10-07T05:43:58.680535Z"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "No handles with labels found to put in legend.\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x7d360dd8>"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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at++fdq3b59Wrlwp6c8J1jp16uRy7jJlyuiHH35QVFSUNm/erHHjxunYsWPZXmfG3sPpLMvSp59+av9biomJUePGjSVJvr6+KlmypCIjI1W0aFE1atRIklS4cGHde++9iouLk+S+nzmAG0tOxlLFSSqX4bG/UitdM+ouaZyV+vHQfmPMQUlVJW3JuJFlWTMlzZSksLCwzCEuAAAAYDt//rxWr16tf//73/ay999/X3379lVKSoqKFCmimTNnSpJeeuklde/eXTVq1JBlWerevbuCg4MlSePHj1eXLl3Ur18/+fj46MMPU+eKfeedd/T8889r0qRJMsZo9uzZMsYoOTnZnlSnRIkSmjdvHi0IgJtAXr2mSNKnn37qMtRbkrZu3ao2bdooPj5eX375pUaMGKGff/5Zn376qdavX6/Tp09r9uzZkqTZs2fboR/yzpVCzjVr1mTZPmOQfvz4cZ05c0Z169aVJHXt2lVLlixReHi42wnWChf+c+qbixcv2tWq2cmuZcWGDRt0991328F/SEiIli5dqg4dOig2Nlbbtm1TbGys7r//fnufhIQEffnll+rbt6+k1H7mzZo105QpU5SYmKhvv/3W3vbChQsKCwuTl5eXhgwZoieeeMLt9QFwVk7+ktwqqZIx5u+SjkrqIKlTpm2OSGosaYMx5m5JVSQdEAAAAPAXFS1a1K5ETffQQw9p27ZtWbYtXry4Fi1alO1xypcvr/Xr12dZXr16dW3cuDHL8iJFiigmJuYvXjVw69qzZ4/at29vPz5w4IDeeOMN9evXT1OmTNHUqVPl5eWlVq1a6a233tLHH3+st99+294+Ojpa27dvV2hoqObPn68333xTxhj5+flp3rx58vb21owZMzRt2jR5enqqePHimjlzpl3VHhERoeXLl+vy5ctq2rSp3n33XZcJsvLqNSX93jK777777KrEjJ555hk988wzV3jmkFdyEnJmtHDhQi1dulSSdPToUfn7+9vr/P39dfTo0aueMzY2Vq1atdL+/fv19ttvZ1uBmt57OH2St3SZK6l79Oih3bt3KywsTOXLl1e9evVcPgBMSUlRx44d9corr6hChQr2Mbp166YBAwboxx9/VJcuXbRr1y55eHjoyJEj8vPz04EDB/TII4+oZs2aTAAH5JOrtiCwLCtFUh9J30jaLelTy7J+Nsb0Msb0SttslKR6xpidkr6TNNiyrFNOXTQAAAAA4Mbibij4999/r6VLlyo6Olo///yzPRGeu6HgKSkp6tu3r77//ntFR0crODhYU6dOlSR16tRJO3fuVFRUlCIiIvTqq69Kkn744Qdt3LhR0dHR2rVrl7Zu3Wq3FsCtIfMEa+nctYvYvHmzihYtqho1akiS3e81o4wBvjvlypVTdHS09u/frzlz5ujXX3/Nsk3m3sNSapj6+eefu3xo4eXlpUmTJikqKkpLly5VQkKCS3D8wgsvqFKlSurXr5+97Er9zNPD4AoVKqhhw4basWPHVe8HgDNyNJbKsqwVklZkWjYjw9fHJNEYCwAAAHkucMjyfD3/oXGt8vX8uL5yW8W5ZcsWvfDCC5JSA5yRI0fak76la926tQ4cOKBdu3ZJSp24p0ePHjp58qRKlSqlefPm2ZV3V6viLCgyDgUfNGiQhgwZottuu01Sam/LzDKGZJZl2b1XS5curTNnzuiee+6RlNoWJF1iYqL93BhjdOHCBSUlJcmyLCUnJ7uEXRnl52sKryfOuVLImV2Vc+ZqWX9/f5cK5ri4uFz1U/Xz81NQUJA2bNigtm3buqzLLgT+9ttvVbVqVZeq2/Pnz8uyLBUrVkyrV6+Wl5eXXeE9bNgw/f777/rPf/7jcpz0fubdunVz6WceHx+vokWL6rbbbtOpU6e0ceNGRUREuOyb29e7dEeOHFH16tU1cuRI+wOVbdu2qVu3bvrjjz/UsmVL+7XryJEjevbZZ5WQkKBLly5p3LhxatmypSTJ09NTNWvWtO+DicJwM6OZFQAAAACkSa/ilKRLly6pbNmyWao4b7vtNp04cUKSVKNGDUVGRsrLy0vHjx9XSEiIHnvsMXvY8Oeff67ixYu7nGPgwIHq2rWrnn32Wa1Zs0avvfaaPvroI5cqTil1ePy6devUsGHD63b/eSVjuLV3715t2LBBQ4cOVZEiRTRhwgTdd999LttnHApeqFAhTZ8+XTVr1lSxYsVUqVIlTZs2zd522rRpmjhxopKSkuy+nnXr1lWjRo1UpkwZWZalPn36qFq1atfpbnEjyGnIKUmXL1/WokWLXNrTlClTRnfccYc2bdqkBx54QHPnztXLL798xXPGxcWpdOnSuv322xUfH6+NGzfaVdnpsus9LGXfLuHEiRNq3ry5PDw8VLZsWX300Uf2ecaMGaOqVavq3nvvlST16dNHPXv2dNvPfPfu3XrxxRfl4eGhy5cva8iQIXaYmy63r3fp+vfvr/DwcJdl6ROY1alTRy1bttTKlSsVHh6u0aNHq127durdu7diYmLUsmVLHTp0SJJ0++232+cHbnYEsAAAAACQjZxUcRYtWtTe/sKFCy7VqufOndPEiRM1c+ZMe4iwlDrT+aRJkyRJjRo1sifGyU0V540sc7/LlJQUxcfHa9OmTdq6davatWunAwcO2M9V5qHgycnJmj59unbs2KEKFSro5Zdf1tixYzVs2DBJqRNkvfTSS/rkk080evRozZkzR/v379fu3bvtCsamTZtq/fr1ql+/fj48A7jechNyStL69evl7+9v91FNN336dLuKMzw83A4Z3U2wtnv3bg0YMEDGGFmWpYEDB9oVnemy6z0syZ6QLaPAwEDt2bMny3J/f/9sWyRI7vuZ16tXTzt37sx2n+zktGp9yZIlqlChgooVK2Yvu9IEZsYYnTlzRpL0+++/56qqGLiZXLUHLAAAAADcirKr4nzggQfUoEEDbd261d5u8+bNCgoKUs2aNTVjxgy7+nX48OEaMGCAS0grpc50vnjxYknSF198obNnz+r06dMuVZxlypRR8+bNC2QVZ+ah4P7+/nryySdljNH9998vDw8Pu0ellDUkS6+Iq1ixoowxateunX744Ycs5+nQoYOWLFkiKfV5rFOnjooXL67ixYsrPDxcmzZtcu4mcUNJDznvvPNOl+WzZ89Wr169smzfsGHDbP99hIWFadeuXfrf//6nqVOn2h8SpE+wlpiYqNOnT+vnn3+WlBr0R0dH66efflJ0dLTdjqQgysnrXWJiosaPH68RI0a47HulCcxGjhxpt1lp2bKlpkyZYm934cIFhYWFqU6dOvbPMnCzogIWAADgFuWu91tCQoLef/99+fj4SJLefPNNtWzZ8oq9Lt3NWL5+/Xr169dP0dHRWrBggUtfvDlz5mj06NGSUnvbPfvss9fr1oGryk0V5wMPPGBXwz377LMKDw/XL7/8ov3792vSpEn2cNt0EyZMUJ8+fTR79mzVr19fZcuWlZeX11WrOPPyZ3bo0KGaO3eu4uPjde7cOfuYM2bM0LRp0+Tp6anixYtr5syZ9rDlnPanzTwU/IknntCaNWvUsGFD7d27V0lJSfL29paU/VDwsmXLKiYmRidP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debMGd1zzz2S3L9plW6eCczy8zWvIH9oAqDgudFf7zL2gpekoUOHau7cubrzzjv1/fffS7p6n//u3bvL09NTTz31lIYNG5Zl0q8PPvjArpw9evSoypUrZ6/z9/fX0aNH/9L94fohgAUAAHBQdtUbGbmr1shYkXH33Xe7rd4wxmjixImaOHGiy/KcVufir8vN9/app57SU089lWWbK31v3VVeS3Kpli7IcvKmNaPFixerVq1adjuH6dOnq2bNmipWrJgqVarkElKny/imFQCAvJTeCz7jRKJjxozRmDFjNHbsWE2dOlWvv/76Ffv8f/zxxypbtqzOnj2rp556Sh999JG6du1qr583b54iIyO1bt06SZJlWVmOkTmwxY2HSbgAXHfuGpYPGjRIVatWVXBwsNq0aWNPIrN69WrVrl1bNWvWVO3ate3JSSRp4cKFCg4OVlBQkCIiIuzl/fv3t49fuXJllSxZ0l4XERGhoKAgVatWTa+88kq2v8AAAICzMk5glm7MmDGKjY1V586dNXXqVJftf/75Zw0ePNiuOE5OTtb06dO1Y8cOHTt2TMHBwS5vgKU/37QOGjTI+RsCANxyMvaCz6xTp05avHixJGnz5s2KiIhQYGCgJk+erDfffNP+PVe2bFlJ0h133KFOnTppy5Yt9jG+/fZbjRkzRsuWLbM/fPT391dsbKy9TVxcnPz8/By7R+QNKmABXHfuer/t2bNHY8eOlZeXlwYPHqyxY8dq/Pjxbnu/nT59WoMGDdK2bdvk4+OjZ599Vt99950aN25sz/4rSVOmTNGOHTskST/88IM2btxoV4U99NBDWrdunRo2bGhv725ykLJly2rkyJHavXu3tmzZYjdJT05OVs+ePbV9+3alpKSoa9eueu2113T+/Hk9/fTT+t///idPT0899thjGjdunKTUoaj9+vVTdHS0FixYYFc4ff/99+rfv7997l9++UULFizQE088keffBwDX143aIgHX7kYfGnmjutqb1latWun111+XlPrmsk2bNpo7d64qVqwoSfbfEumP27VrZ/+elf5807pu3Tr7TSsAAHkpYy94Sdq3b58qVaokSVq2bJmqVq0qSW77/KekpCghIUHe3t5KTk7WV199pSZNmkiSduzYoRdffFErV66Ur6+vvX/z5s31j3/8Q/Hx8ZKkVatWZfkAEjceAlgA+Spj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w8ND7777rho2bOhyvNatW+vAgQN2v5/169erX79+io6Oticxk6TDhw/rySef1KVLl5ScnKyXX34524lPAAAAAAD5K6ct9dxJ7yObPgdLu3btNG7cuCzbdejQQb1797YfDx06VEOHDpUkderUSZUqVfpL57/Z0IIAAAqYvn37qkWLFvrll1/0008/qVq1aurZs6fGjRunnTt3qk2bNnr77bclSe+//74kaefOnVq9erUGDBigy5cv28f6/PPP7QnJ0gUEBGj27Nnq1KmTy/IyZcrohx9+UFRUlDZv3qxx48bp2LFjDt8tAAAAACC3rrWtXdmyZRUTE6OTJ09KklavXm3Pn7Jv3z57u+XLl9sh66VLl+xCpujoaEVHR6tZs2Z/+RpuJlTAAoAbN+KMlmfOnNH69es1e/ZsSVLhwoVVuHBh7dmzR/Xr15ckNW3aVM2bN9eoUaMUExOjxo0bS5J8fX1VsmRJRUZG6v7779e5c+c0ceJEzZw5U+3atbPPERgYKEny8HD9jK5w4cL21xcvXnQJcgEAN5bcjJbYsmWLXnjhBUmpE26MHDnSHvHRsGFDHT9+XLfffrskadWqVfL19dXhw4fVo0cPnTx5UqVKldK8efPk7+/PaAkAAG4AuWmpJ6W+Bzxz5oySkpK0ZMkSrVq1StWrV9eIESNUv359FSpUSOXLl7ffh06dOlXffvutChUqpLvuuktz5syRlNq24OGHH5aUOlHXvHnzaEGQhmcBAAqQAwcOyMfHR927d9dPP/2k2rVr691331WNGjW0bNkyPf7441q0aJHd6DwkJERLly5Vhw4dFBsbq23btik2Nlb333+/hg8frgEDBqho0aI5Pn9sbKxatWql/fv36+2337ZnwSwosgskbr/9dvXq1UsXLlyQl5eX3nvvPd1///1XbN8wf/58vfnmmzLGyM/PT/PmzZO3t7dmz56tQYMGqWzZspL+7PkrpfYfrlmzpqTUKuNly5bly3MA4NaQPlris88+U1JSks6fP6+mTZtqwoQJatCggWbNmqW3335bo0aNUo0aNRQZGSkvLy8dP37cnqAy/Q3Txx9/rLCwMJfjDxw4UF27dtWzzz6rNWvW6LXXXtNHH31kj5a47bbbdO7cOdWoUUOtW7cucL8vAAAoyHLTUk9KnYckO7169cr2g9R333032+2LFCmimJiY3F3sLYIW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v//+uyZNmqSnnnpKn376qZ577jl9++239n6bN29W0aJFVaNGDXvZxx9/rLJly+rs2bN66qmn9NFHH6lr1672+nnz5ikyMtKuwN2/f792795th8VNmzbV+vXr7d5kALIXGhqqyMhIl2V9+/ZV3759s2wbGBhoV8u6ExgY6DIM/L777rN/LjNq2rSp3TLkSrJra7Jw4UJ7/YABA+w36Rn7rJ44cULh4eHaunWrPDw89Omnn6pEiRKyLEtt27bVokWL1KFDB7dtTa428Yu79g3//e9/7SbyTz/9tN231V37hvS+1+nBRbt27TRu3DhJUunSpe3tn3/+eQ0ePNh+nH4dFSpUUMOGDbVjx45sw48bUV79HpPkdvK3HTt2KDY2Vo8++miWfdJt2bJFSUlJBeZ5A/JLxtESVapUcRkt4evrm2W0xMGDB1WuXDl5eXnp8OHD2rNnj92iJiEhQd7e3kpOTtZXX32lJk2aSJJOnTqlUqVKycPDQ2PHjlWPHj0kpY6WKF26tG6//XZ7tMSrr76ab88FAADAjYAA9jrIbcg5YsQI9e/fP8vwzJSUFMXFxenBBx/UxIkTNXHiRA0cONCloi23IWduA4l0CxYsyFL9ml2FRHoA++2332rMmDFat26dPTHDF198oTp16tj3GR4erk2bNhHAAjmUn/183PXycddnNZ1lWfr000+1Zs0aSe77rN5///0qUaKEpNTXvqSkJLt3daNGjezj1alTR/PmzbPPlS67iV/cBRIHDhyw+0+vWbPGrrY8f/68LMtSsWLFXNo3HDt2TDExMTp58qR8fHy0evVq+4Ot48ePq0yZMpKkZcuW2cvj4+NVtGhR3XbbbTp16pQ2btyYZbj+jSyvfo+lT/42adIkl5lWL1++rP79+9v/brJz/PhxdenSRXPmzJGHBwN4gKtJHy2RlJSkChUq6MMPP9TcuXM1bdo0SdKTTz5pj5b473//q3HjxqlQoULy8PDQe++9J29vbyUmJqp58+ZKTk7WpUuX1KRJEz3//POSpLVr1+q1116TMUb169e3j7t7924NGDBAxhhZluV2tAQAAMCthAD2OshtyLl582Z99tlnioiIUEJCgjw8PFSkSBG99NJLKlq0qD1r+dNPP60PPvjAPs9fCTlzG0hIqW+UFy1apPXr19vLrlQhsWPHDr344otauXKlfH197X0CAgL0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\n",
      "text/plain": [
       "<Figure size 1728x720 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(figsize=(24,10))\n",
    "plt.bar(df_day_op['date'],df_day_op['ope_times'])\n",
    "for a,b in zip(df_day_op['date'],df_day_op['ope_times']):\n",
    "    #print(a,b)\n",
    "    plt.text(a, b+0.05, '%.0f' % b, ha='center', va= 'bottom',fontsize=10)\n",
    "plt.xticks(rotation=90)\n",
    "plt.title(\"behivaor count  by date\")\n",
    "plt.legend()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "商品子集P的操作次数"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-10-07T05:44:16.369546Z",
     "start_time": "2020-10-07T05:44:01.333686Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(4279962, 9)"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_user_p = pd.merge(df_user, df_item, on='item_id')\n",
    "df_user_p.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-10-07T05:44:17.960637Z",
     "start_time": "2020-10-07T05:44:16.378547Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>date</th>\n",
       "      <th>ope_times</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2014-11-18</td>\n",
       "      <td>86732</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2014-11-19</td>\n",
       "      <td>94513</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2014-11-20</td>\n",
       "      <td>90008</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2014-11-21</td>\n",
       "      <td>81061</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2014-11-22</td>\n",
       "      <td>121133</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>2014-11-23</td>\n",
       "      <td>157253</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>2014-11-24</td>\n",
       "      <td>113969</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>2014-11-25</td>\n",
       "      <td>106101</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>2014-11-26</td>\n",
       "      <td>103857</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>2014-11-27</td>\n",
       "      <td>91260</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>2014-11-28</td>\n",
       "      <td>135652</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>2014-11-29</td>\n",
       "      <td>127997</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>2014-11-30</td>\n",
       "      <td>117067</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>2014-12-01</td>\n",
       "      <td>104922</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>2014-12-02</td>\n",
       "      <td>134609</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>2014-12-03</td>\n",
       "      <td>144284</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>2014-12-04</td>\n",
       "      <td>103145</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>2014-12-05</td>\n",
       "      <td>114820</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>2014-12-06</td>\n",
       "      <td>138450</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>2014-12-07</td>\n",
       "      <td>129833</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>2014-12-08</td>\n",
       "      <td>157222</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>2014-12-09</td>\n",
       "      <td>204471</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>2014-12-10</td>\n",
       "      <td>149494</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>2014-12-11</td>\n",
       "      <td>225812</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>2014-12-12</td>\n",
       "      <td>422308</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>2014-12-13</td>\n",
       "      <td>120220</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>2014-12-14</td>\n",
       "      <td>130784</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>2014-12-15</td>\n",
       "      <td>156657</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>2014-12-16</td>\n",
       "      <td>130437</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>2014-12-17</td>\n",
       "      <td>155796</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>2014-12-18</td>\n",
       "      <td>130095</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          date  ope_times\n",
       "0   2014-11-18      86732\n",
       "1   2014-11-19      94513\n",
       "2   2014-11-20      90008\n",
       "3   2014-11-21      81061\n",
       "4   2014-11-22     121133\n",
       "5   2014-11-23     157253\n",
       "6   2014-11-24     113969\n",
       "7   2014-11-25     106101\n",
       "8   2014-11-26     103857\n",
       "9   2014-11-27      91260\n",
       "10  2014-11-28     135652\n",
       "11  2014-11-29     127997\n",
       "12  2014-11-30     117067\n",
       "13  2014-12-01     104922\n",
       "14  2014-12-02     134609\n",
       "15  2014-12-03     144284\n",
       "16  2014-12-04     103145\n",
       "17  2014-12-05     114820\n",
       "18  2014-12-06     138450\n",
       "19  2014-12-07     129833\n",
       "20  2014-12-08     157222\n",
       "21  2014-12-09     204471\n",
       "22  2014-12-10     149494\n",
       "23  2014-12-11     225812\n",
       "24  2014-12-12     422308\n",
       "25  2014-12-13     120220\n",
       "26  2014-12-14     130784\n",
       "27  2014-12-15     156657\n",
       "28  2014-12-16     130437\n",
       "29  2014-12-17     155796\n",
       "30  2014-12-18     130095"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tmp = df_user_p.groupby('day').size().reset_index()\n",
    "df_p_day_op = pd.DataFrame(tmp)\n",
    "df_p_day_op.columns = ['date', 'ope_times']\n",
    "df_p_day_op"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-10-07T05:44:20.513783Z",
     "start_time": "2020-10-07T05:44:17.967638Z"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "No handles with labels found to put in legend.\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0x7d489fd0>"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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4+yzzy72+Wp7i222GjduXIkXnfZ3P/buie1ZuHAhy5cv56STTgJg/vz5yQtubdu25Zlnnkm2FxQU0L59ewAqVKiQcqH4gcr/Y0r62TvyyCMpXbo0pUqV4g9/+AMzZ84stn17/9O/+OKLqVevXvK2FSi8gry15MIf/vAHZs2atU2/GjVqkJmZyRtvvLF7JyJJkrQX7c7foQBeeeUVBg8ezKRJk5K/TwGsW7eOM844g9tuu42WLVvukblI2re2d6GooKCAN998k8cee4w333yTp556iqlTp1JQUEB+fj4nnngi7733Hq1ateLqq68GdrzYBgovFM2dO5eOHTvu9XnuKdu7e2Lx4sU0bdqUNm3alPj5c+zYsZx77rmEEABo0qRJslbxU089xddff82qVav4+OOPOeKII/jNb35D06ZN6d+/P1u2bNk7k9NPYrAr6Wdv2bJlyddPPfVUsVUl3333HU888QTnnXdesT7XX389X331FX/729+2O9akSZNo0KABAPn5+fz73/8GYM2aNbz11lscc8wxu3sqkiRJe83u/B1q9uzZXHLJJUyaNKnY7b2bN2+mS5cu9OjRg7PPPnvPTETSPre9C0Xp6em0adOGKlWqUL58eU4//XTee+89KleuTPny5enSpQsAZ599Nu+99x7ww4ttxo8fT5cuXZK1elPd9kLx6tWr8/nnnzN79myGDx/O+eefz7p164r1/f4FuDvuuIPXX3+dpk2b8vrrr1OzZk3S0tIoKCjgjTfe4I477uDdd9/l008/ZfTo0XtzmvqRDHYl/ax069aNVq1a8dFHH5Gens6oUaMYMGAAjRs3Jisri9dee4277roruf/06dNJT08vdptgfn4+gwcPZv78+TRr1qzYk1bvueceMjMzadKkCffcc0/yf3YLFizg+OOPp0mTJrRp04arr76axo0b79W5S5Ik/Vh7+neo/v37s379es4++2yys7Pp3LkzUBjATJ8+ndGjRycf9JObm7tX5y5pz9vehaKOHTsyZ84cvvnmGwoKCnj99ddp2LAhIQTOPPNMpk2bBsDUqVNp2LDhNmMVXWyzVdGHOv4cbC8UL1u2LJUrVwagefPm1KlTh48//jjZ7/3336egoIDmzZsn22rUqMGTTz7J7NmzGTx4MACHH3446enpNG3alNq1a5OWlsavf/3rZJCu/VuIMe7rc9itWrRoEXNycvb1aUiSJEmSdqOMgc/v0+PnDT1jnx7/p9jf37v9/fy0a7p168a0adNYuXIlRx55JDfffDPTpk0jNzeXEAIZGRn83//9H9WrVwcKa28PGTKEEAKnn356ss7uZ599Rvfu3Vm7di1Vq1bloYce4qijjuLaa69l0qRJpKWlUalSJUaMGMGxxx4LQF5eHieeeCJLlixJ2XrdeXl5/OpXv+KDDz4ACoPsre/VXXfdxYwZMxg3bhwrVqygUqVKlC5dmk8//ZSTTjqJuXPnJmv0Dhw4kLJly3LzzTcnx165ciWVKlWiVKlSXHfddZQuXZpbbrmFLVu20KxZM1555RWqVq3K73//e1q0aMHll1++998AlSiEMCvG2GKbdoNdSZIkSdL+zvDvx9vf37v9/fykvWVXQvGJEydy4403kpaWRunSpbn55ps588wzk2PVrl2bF154IRl6A0yYMIFrr72WEAKtW7fmvvvuS5a1mDJlCldddRUxRpo3b84DDzzAQQcdtNffA5XMYFfSAcVfDiVJknbdvvwdKlXDv969e/Pcc89RrVq15Aq7re644w769+/PihUrqFKlCps3b+aSSy4hJyeHUqVKcffdd3PyyScX69O5c2c+/fTT5FifffYZvXv3Tq7Oe/TRR0lPT0/uv27dOho0aECXLl249957SzzH/fW922p/Pz9J2te2F+ym7YuTkSRJkiTp56BXr1706dOHHj16FGtfsmQJU6ZM4aijjkq2/f3vfwdg7ty5LF++nE6dOvHuu+8mbxl/8sknqVChQrFxrr76anr06EHPnj159dVXufbaa3nkkUeS22+44QbatGmzp6Yn/ST788Ui6efAYFeSJEmSpB+pdevW5OXlbdPer18/br/9ds4666xk2/z582nXrh0A1apV44gjjiAnJ4fjjjuO9evXM3z4cB544AHOOeecYn22Priubdu2/PrXv05umzVrFl9++SWnnXYa3rkq/bwYimtnpGYlaUmSJEmS9lOTJk2iZs2aNGnSpFh7kyZNeOaZZygoKGDx4sXMmjWLJUuWAIUrb6+66irKly+/TZ+JEycC8NRTT/H111+zatUqvvvuO6666ir++te/7p1JSZL2Owa7kiRJkiTtJt988w2DBw/mlltu2WZb7969SU9Pp0WLFvTt25cTTjiBtLQ0cnNzWbRoEV26dNmmzx13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yRJrK5977rnce++9xdpWr17NzTffTE5ODiEEmjdvTufOnalYseI2/SVJknaXH/XwNEmSJEna37Ru3ZpKlSoVazvssMOSrzds2JBcPR1CYMOGDRQUFPDvf/+bgw46KLnv+vXrGT58ONdff/1OHfell16iffv2VKpUiYoVK9K+fftknWVJkqQ9xRW7kiRJOiBlDHx+nx4/b+gZ+/T4B5LrrruOhx9+mMMPP5zXXnsNgK5du/LMM89QvXp1vvnmG+66665kKHzDDTdw1VVXUb58+W3GmjhxItOnT6d+/frcdddd1KpViy+++IJatWol90lPT+eLL77YO5OTJEkHLFfsSpL0M7Yr9Sbz8vI4+OCDk7UjL7300mSfzZs3c/HFF1O/fn2OPfZYJk6cCGy/3mRubi6tWrUiMzOTrKwsHn/88b04a0kqbvDgwSxZsoQLLrggWUZh5syZlC5dmqVLl7J48WLuvPNOPv30U3Jzc1m0aBFdunTZZpwzzzyTvLw85syZw6mnnkrPnj0BSizLYV1lSZK0pxnsSpL0M9arV69tbgfu378/c+bMITc3l1/96lfccsstyW116tQhNzeX3NxcRo4cmWwfPHgw1apV4+OPP2b+/Pm0adMmue3cc89N9rnooosAKF++PA8//DDz5s1j8uTJ9O3bl7Vr1+7ZyWq/sisXFbb6/PPPqVChAnfccUeybXsXFTZt2sS5555L3bp1Of7444vVxb3mmmto1KgRjRo18qKCijn//POTf4f++c9/ctppp1GmTBmqVavGiSeeSE5ODm+//TazZs0iIyODX/7yl3z88cecfPLJAFSuXJmyZcsC8Ic//IFZs2YBhSt0lyxZkjxOfn4+NWrU2LuTkyRJBxyDXUmSfsZ2pd7kjjz44INce+21AJQqVYoqVarscP/69etTr149AGrUqEG1atVYsWLFrp6+UtiuXlQA6NevH506dSrWtr2LCqNGjaJixYosWrSIfv36cc011wDw/PPP895775Gbm8uMGTP461//yrp16/bgTLW/W7hwYfL1pEmTOPbYYwE46qijePXVV4kxsmHDBt555x2OPfZYLrvsMpYuXUpeXh5vvvkm9evXZ9q0aQAsW7as2FgNGjQAoGPHjrz88susWbOGNWvW8PLLL9OxY8e9N0lJknRAssauJEkHoJLqTQIsXryYpk2bcthhh3Hbbbdx0kknJVfa3nDDDUybNo06depw7733cuSRRwIl15ssaubMmWzevJk6derstflp32vdunWxVbSw44sKTz/9NLVr1+aQQw4p1ufBBx/kww8/BIpfVHjmmWcYNGgQUFgrtU+fPsQYk+FvWloaaWlpNGnShMmTJ3POOefsgVlqf9OtWzemTZvGypUrSU9P5+abb+aFF17go48+olSpUhx99NHJuxEuv/xyfv/739OoUSNijPz+978nKytrh+Pfc889TJo0ibS0NCpVqsTo0aMBqFSpEjfccAP//d//DcCNN964zUU1SZKk3c0Vu5IkHYBKqjdZvXp1Pv/8c2bPns3w4cM5//zzWbduHQUFBeTn53PiiSfy3nvv0apVK66++mpg+/Umt1q2bBndu3fnoYceolQpf+1Q4UWFWrVq8dhjjyVX7G7YsIFhw4Zx0003Fdu36EWFZs2acfbZZ/Pll18CFHtYVVpaGocffjirVq2iSZMmvPjii3zzzTesXLmS1157rdgt8vp5Gzt2LMuWLePbb78lPz+fCy+8kIkTJ/LBBx8wZ84cnn32WWrWrAlAhQoVeOKJJ5g3bx7z58+nf//+24yXkZHBBx98kPx5yJAhzJs3j/fff5/XXnstufoXCsuPLFq0iEWLFvH73/9+z09WkiQd8PyEJUnSAaxovcmyZctSuXJlAJo3b06dOnX4+OOPqVy5MuXLl08+SOjss8/mvffeA7ZfbxJg3bp1nHHGGdx22220bNlyb05L+7GSLircdNNN9OvXjwoVKhTbd0cXFbb3sKoOHTpw+umnc8IJJ9CtWzdatWpFWpo3qUmSfl52tZb9kCFDqFu3LscccwwvvfQSAF9//XXyAbjZ2dlUqVKFvn37AoV179u2bUvTpk3JysrihRdeKHb8devWUbNmTfr06bPnJytpu/wtV5KkA8zChQuT9W+L1ptcsWIFlSpVonTp0nz66acsXLiQ2rVrE0LgzDPPZNq0aZxyyilMnTqVhg0bAoUrcqtXr54ca2u9yc2bN9OlSxd69OjB2WefvQ9mqf3d+eefzxlnnMHNN9/MjBkzmDBhAgMGDGDt2rWUKlWKcuXKcfnll29zUWHUqFHAfx5WlZ6eTkFBAV999VXy1vfrrruO6667LnmcrX/fdeDIGPj8Pjt23tAz9tmxJR04evXqRZ8+fejRo0eyrX///tx6661AYemYW265hZEjRzJ//nzGjRvHvHnzWLp0Kaeeeioff/wxhx56KLm5ucn+zZs35ze/+Q0At912G+eccw6XXXYZ8+fP5/TTTy9WYumGG24o9jDdVNK7d2+ee+45qlWrlrwr44YbbuCZZ56hVKlSVKtWjdGjRycfgjlkyBBGjRpF6dKlueeee7apod65c2c+/fTT5FgjR47kvvvuo3Tp0lSoUIEHHniAhg0b8tprr9GvX79kvw8//JBx48bx61//eu9MfDfYXe/drFmz6NWrF//+9785/fTTufvuuwkh8Nlnn9G7d+/k55JHH32U9PR0AEqXLk3jxo2Bwjr5kyZN2gfvwP7HFbuSJP2MbV2x+NFHH5Gens6oUaMYOHAgjRo1Iisri5dffpm7774bgOnTp5OVlUWTJk3o2rUrI0eOTAZlw4YNY9CgQWRlZfHII49w5513AoUfGjIzM2nSpAn33HNPst7k+PHjmT59OqNHj06uAin6wUEHpu09xOqNN94gLy+PvLw8+vbty5///Gf69OlT7KICUOyiQufOnRkzZgwAEyZM4JRTTiGEwJYtW1i1ahUAc+bMYc6cOXTo0GEvzlIqWUmr6/r378+xxx5LVlYWXbp0SZYf2bx5M7///e9p3LgxTZo0Sf43AIXlJho3bkxWVhannXYaK1euBAqDhMaNG5Odnc0vf/lL5s+fD8Bnn31G8+bNyc7OJjMzM1ljWFJq25UH5D7zzDOcd955lC1bll/84hfUrVuXmTNnFuu7cOFCli9fzkknnQQU3gWz9eGjX331VTKog8JQ7ssvv0zZ/7/uygNei4bikydP5n/+53/YsmVLst+TTz65zR1H559/PnPnziU3N5cBAwZw5ZVXAtC2bVtyc3PJzc3l1VdfpXz58in3Hu6u9+6yyy7jgQceYOHChSxcuDA55tVXX02PHj2YM2cON954Y/LhzQAHH3xw8v0z1P0PV+xKkvQzNnbs2G3aLrzwwhL3/e1vf8tvf/vbErcdffTRTJ8+fZv2IUOGMGTIkG3af/e73/G73/1uF89WPye78hCrHRk2bBjdu3enb9++VK1alYceeggo/HvcvXt36tatS6VKlRg3bhwA3377bfJD6WGHHcajjz5qKQbtF0paXde+fXuGDBlCWloa11xzDUOGDGHYsGH8/e9/B2Du3LksX76cTp068e677/Ldd99xxRVXMH/+fKpUqcKAAQO49957GTRoEOeffz6XXnopUHjh5Morr2Ty5MlUr16df/3rX5QtW5b169fTqFEjOnfuXCykkfTzUdIDcr/44otiZbHS09P54osvivUbO3Ys5557bjIMHjRoEB06dOB///d/2bBhA6+88goA3333HVdddRWPPPIIU6dO3Uuz2r125QGv2wvFW7Vqxfr16xk+fDgPPPBAsYe07uhhsVtNmDCBTp06Ub58+d08uz1rd7x3GRkZrFu3jlatWgHQo0cPnn76aTp16sT8+fO56667gMIgPJVWM+8r/pYrSdIBYn+8Nbmk27n69+/Ps88+y0EHHUSdOnV46KGHOOKII3jsscf461//muw7Z84c3nvvPbKzs3n88ccZPHgwW7Zs4YwzzuD2228H2O7tXD+HW+H2d7tyUaGoQYMGFft5excVypUrxxNPPFFi+9aVitL+pKQPw0VXarVs2ZIJEyYAhauc2rVrB0C1atU44ogjyMnJoWnTpsQY2bBhA5UrV2bdunXUrVsX2P4H64MOOijZvmnTJr777rs9Mj9J+4fBgwczePBghgwZwr333svNN9+83br0RY0bN45HHnkk+fPYsWPp1asXV111FW+//Tbdu3fngw8+4P777+f0009PPsD052RXQ/EbbriBq666qsRw9r777mP48OFs3ryZV199dZvt48aNS67k/TnYlfeuTJkyyfIKRdsBmjRpwsSJE7niiit46qmn+Prrr1m1ahWVK1dm48aNtGjRgrS0NAYOHOjv7QmWYpAkSftMSbdztW/fPvkE+/r16ydXBF9wwQXJ268eeeQRMjIyyM7OZtWqVfTv35+pU6cyb948vvzyy+QKku3dzvVzuBVO0s/Lgw8+SKdOnYDCD7bPPPMMBQUFLF68mFmzZrFkyRLKlCnDiBEjaNy4MTVq1GD+/PnFLpjcd9991KlThwEDBnDPPfck25csWUJWVha1atXimmuucbWudAAo+oDcrXXpt8rPzy/278D7779PQUEBzZs3T7aNGjUquQq1VatWbNy4kZUrV/L2229z7733kpGRwdVXX83DDz/MwIED99Ks9qySHvC6vVA8NzeXRYsWJZ8D8H2XX345n3zyCcOGDeO2224rtm3ZsmXMnTt3m1q9qWxX3rsdXWi44447eP3112natCmvv/46NWvWTN559fnn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+O677370HCTtf7ydS5Ik7U969epFnz596NGjR7Ktffv2DBkyhLS0NK655hqGDBnCsGHDmD9/PuPGjWPevHksXbqUU089lY8//hiAq6++mrZt27J582batWvHiy++SKdOnWjatCk5OTmUL1+eESNGMGDAAB5//HFWr17NzTffTE5ODiEEmjdvTufOnalYseK+eisk7cdcsStpt3rwwQfp1KnTTxrjvvvuo06dOgwYMIB77rkn2b5kyRKysrKoVasW11xzDTVq1PippytJkiRJ22jdujWVKlUq1tahQwfS0grXx7Vs2ZL8/HwAnnnmGc477zzKli3LL37xC+rWrcvMmTMpX748bdu2BQoXqjRr1izZp23btsmHxBYd66WXXqJ9+/ZUqlSJihUr0r59+23umJSkrQx2Je02gwcPJi0tjQsuuOAnjXP55ZfzySefMGzYMG677bZke61atZgzZw6LFi1izJgxfPnllz/1lCVJkiRplxVd0PLFF19Qq1at5Lb09PRt6vivXbuWZ599lnbt2m0z1qhRo3ZpLEnaymBX0m4xZswYnnvuOR577LFk+YSf6rzzzuPpp5/epr1GjRpkZmbyxhtv7JbjSFJJSqqt98QTT5CZmUmpUqXIyclJtj/22GNkZ2cnv0qVKkVubi4As2bNonHjxtStW5c//elPxBiT/caPH0/Dhg3JzMzk/PPPB+C1114rNla5cuVK/LdQkiTtG99f0FL0/+1bFf1MVFBQQLdu3fjTn/5E7dq1i+336KOPkpOTQ//+/XdqLEkqymBX0k82efJkhg0bxqRJk5K3E/1YCxcuTL5+/vnnqVevHgD5+fn8+9//BmDNmjW89dZbHHPMMT/pWJK0IyU9LLJRo0Y8+eSTtG7dulj7BRdcQG5uLrm5uTzyyCNkZGSQnZ0NwGWXXcYDDzzAwoULWbhwYXLMhQsXMmTIEN566y3mzZvH3/72N6Dw1sytY7366quUL1++WC1zSZK075S0oCU9PZ0lS5Yk98nPzy9WNu7iiy+mXr169O3bt9hYr7zyCoMHD2bSpEmULVt2p8aSpKIMdiXtkm7dutGqVSs++ugj0tPTGTVqFH369OHrr7+mffv2ZGdnc+mllyb3z8jI4Morr2T06NGkp6czf/58AAYMGEB6ejrffPMN6enpDBo0CIB7772XzMxMsrOzGT58ePIpsAsW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/f1+k+dMyHxm3vOdz3cMO+20EwCLFi3iAx/o/5no7NmzWbJkycAPkiRJkiRJo8O4rT2g1nriFu565xYefw5wzhDHlwPThji+Fpizhbf1ReCLW2tUvhNOOIEnn3yS8ePHc+mll7LDDjts8bG33norn/rUpxg3bhxjx47l85//PK973esAOOOMM/jyl7/MmjVr6Ovr48Mf/jBnnXUWl1xyCYsXL2b8+PHssMMOXHnllb912+AhDDAwhFm0aBFLly4F4AMf+ACHH3445557LosWLWLevHlMmDCBffbZh8mTJ3P77bez995786tf/YoZM2YA8P73v59vfOMbHH300ZRSBraTePrppweGOJK2PdOmTWP+/Pk8+eSTTJw4kRtuuIGDDjrot3ru1772NQ444AAmTJjA6tWrAfjkJz/J0qVL2XfffbnkkkvYddddWbVqFXvu2b9b0bhx43jNa17Dk08+OTD4lSRJkiRt+7Y62JVeClu7ANrg/SFPOOEETjjhhCEfd95553Heeedtdvyv/uqvht22pSHMz3/+c3bbbTegf9/fDWcdr1q1ikMPPXTg+X19faxatYrx48fT19e32XGAs846iyOPPJLPfe5zPPvssyxevHjYvZKyDd5X/JWvfOXAvuJbc8899/Cxj32Mm266CYB169axcuVKDjvsMC688EIuvPBCTj/9dK6++uohz87t3+lIkiRJkjRaDHePXQW66KKLmDp1KtOmTePEE09k7dq1AHzuc5/jTW96E1OnTuWMM84A4Etf+hL777//wG3MmDH84Ac/ABi4wNnUqVP5yEc+MrDNwIUXXsiUKVOYPn0673znO/nJT37Syvv5UtvSxd22ZEsDlRcbtHzlK1/hgx/8ICtXruSGG27gfe97H+vXr3/p3glJUTbdV3xr28OsXLmSWbNmcdVVV7HvvvsCsOOOO7L99tsza9YsAObMmcOdd94J9P/g6JFHHgH6B8BPP/30wG82SJIkSZJGB8/Y3UasWrWKiy++mHvvvZeJEycyd+5cFixYwF577cWiRYu4++67mTBhwsBZpyeddBInnXQSAD/84Q857rjj2H///QH46le/yqtf/WpqrcyePZuFCxcyb948DjjgAJYvX87222/PZZddxhlnnMG111671ba9z/zWy/Z+b82Kzx7zWz3u5JNP5uSTTwbg4x//OH19fey666489thj7Lbbbjz22GPssssuwMYDFegfyOy+++709fWxcuXKzY5D/4WONuy3O2PGDNauXcsTTzwx8DYlbVsef/xxdtlll4F9xW+77bYtPnb16tUcc8wxfOYzn+Gwww4bOF5K4dhjj2Xp0qUcccQRLFmyhClTpgAwc+ZMrrzySmbMmMF1113HEUcc4Rm7kiRJkjTKeMbuNmTdunU899xzrFu3jjVr1rD77rtz2WWXceaZZzJhwgSAIQeJX/nKVzjxxN9spfzqV7964O298MILA8OCd7zjHQP70B566KEbDTG7btOLu5144okDgxOAK6+8kuOOOw7oH6gsWLCA559/nocffpgHHniAgw8+mN12241XvepVLFu2jForV1111cBzJk2axJIlS4D+PX3Xrl3Lzjvv3MJ7KmkknHDCCUyZMoVjjz12YF/x66+/nr6+Pm677TaOOeYYjjrqKAAuueQSHnzwQT796U8P/BbFhs9J5557LmeddRbTp0/n6quv5oILLgD6fxj15JNPMnnyZC688MKBiztKkiRJkkYPz9jdRuyxxx6cfvrpTJo0iYkTJ3LkkUdy5JFHcsYZZ/Cd73yH+fPns91223H++efztre9baPnXnvttSxatGijY0cddRS33347Rx99NLNnz97sz7v88ss5+uijX9b3aSQNdXG3M888k7lz53L55ZczadIkFi5cCPRftX7u3LlMmTKFcePGcemllzJ27FgALrvsMj74wQ/y3HPPcfTRRw98jC644AL+5E/+hIsuuohSCldccYVn10nbsKH2FZ81a9bAtgqDfeITn+ATn/jEkG9nr7324tZbb93s+HbbbTfwOUmSJEmSNDo52N1GPPXUUyxatIiHH36Y1772tcyZM4drrrmGdevW8dRTT7Fs2TLuuOMO5s6dy0MPPTQwVPz+97/P9ttvz7Rp0zZ6ezfeeCNr167lpJNO4uabb+bd7373wH3XXHMNy5cv55ZbbhnR9/HlNNQQZscddxw4y3ZT8+fPZ/78+ZsdP+igg/jRj3602fEpU6bw3e9+t/dQSZIkSZIkCQe724zFixezzz77DPx6//HHH8/3vvc9+vr6OP744ymlcPDBBzNmzBieeOKJgcctWLBgo20YBttuu+2YOXMmixYtGhjsLl68mHPOOYdbbrllYHsHSVK/NvcUh99+X3FJkiRJUvc52N1GTJo0iWXLlrFmzRomTpzIkiVLOOigg5g+fTo333wzhx9+OPfffz8vvPACO+20EwDr169n4cKFG/2a7zPPPMOvf/1rdtttN9atW8cNN9zA29/+dgDuuusuTj31VL797W9vMxf9cggjSZIkSZKkLvLiaduIQw45hNmzZ3PggQey3377sX79ek455RQ+9KEP8dBDDzFt2jTmzZvHlVdeObANw6233kpfXx+///u/P/B2nn32WWbOnMn06dN561vfyi677MJHPvIRAD760Y/yzDPPMGfOHPbff39mzpzZyvs62lx00UVMnTqVadOmceKJJ7J27VoWLlzI1KlTGTNmDMuXL9/o8Z/5zGeYPHkyb3rTm7jxxhsHjr/wwguccsopvPGNb+TNb34zX/va14D+/w8OPPBAxo0bx3XXXTei75skSZIkSZKGxzN2tyFnn302Z5999mbHr7nmmiEff/jhh7Ns2bKNju26667ccccdQz5+8eLFvUfqd7Jq1Souvvhi7r33XiZOnMjcuXNZsGABhxxyCF//+tc59dRTN3r8vffey4IFC7jnnnt49NFHede73sX999/P2LFjOeecc9hll124//77Wb9+Pb/85S+B/rO9r7jiCs4///w23kVJkiRJkiQNg4NdKdy6det47rnnGD9+PGvWrGH33XfnLW95y5CPXbRoEfPmzWPChAnss88+TJ48mdtvv50ZM2bwxS9+kR//+McAjBkzZmBLjr333nvgmCRJkiRJkrrBwe42wH1it1177LEHp59+OpMmTWLixIkceeSRHHnkkVt8/KpVqzj00EMHXu/r62PVqlWsXr0agE9+8pMsXbqUfffdl0suuYRdd9315X4XJEmSJEmS9DLwFD0p2FNPPcWiRYt4+OGHefTRR3n22We3uLUGQK11s2OlFNatW8fKlSs57LDDuPPOO5kxYwann376y5kuSZIkSZKkl5GDXSnY4sWL2Weffdh5550ZP348xx9/PN/73ve2+Pi+vj4eeeSRgddXrlzJ7rvvzo477sj222/PrFmzAJgzZw533nnny94vSZIkSZKkl4eDXSnYpEmTWLZsGWvWrKHWypIlS7a4vy7AzJkzWbBgAc8//zwPP/wwDzzwAAcffDClFI499liWLl0KwJIlS5gyZcoIvReSJEmSJEl6qTnYlYIdcsghzJ49mwMPPJD99tuP9evXc8op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\n",
      "text/plain": [
       "<Figure size 1728x720 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(figsize=(24,10))\n",
    "plt.bar(df_p_day_op['date'],df_p_day_op['ope_times'])\n",
    "for a,b in zip(df_p_day_op['date'],df_p_day_op['ope_times']):\n",
    "    #print(a,b)\n",
    "    plt.text(a, b+0.05, '%.0f' % b, ha='center', va= 'bottom',fontsize=10)\n",
    "plt.xticks(rotation=90)\n",
    "plt.title(\"behivaor count of p by date\")\n",
    "plt.legend()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "可以看到，除了“双12时期”记录猛增之外，总体稳定（没有反映“月光族”现象），进一步我们发现，不仅总操作数规模平稳，每类操作数也是平稳的。\n",
    "\n",
    "下面考察两个假定的“平凡日”12月17日-18日，其各种操作（behavior_type）基于小时记录的统计"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-10-07T05:44:52.456610Z",
     "start_time": "2020-10-07T05:44:20.520784Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>user_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>behavior_type</th>\n",
       "      <th>user_geohash</th>\n",
       "      <th>item_category</th>\n",
       "      <th>time</th>\n",
       "      <th>day</th>\n",
       "      <th>hour</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>10001082</td>\n",
       "      <td>285259775</td>\n",
       "      <td>1</td>\n",
       "      <td>97lk14c</td>\n",
       "      <td>4076</td>\n",
       "      <td>2014-12-08 18</td>\n",
       "      <td>2014-12-08</td>\n",
       "      <td>18</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>10001082</td>\n",
       "      <td>4368907</td>\n",
       "      <td>1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>5503</td>\n",
       "      <td>2014-12-12 12</td>\n",
       "      <td>2014-12-12</td>\n",
       "      <td>12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>10001082</td>\n",
       "      <td>4368907</td>\n",
       "      <td>1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>5503</td>\n",
       "      <td>2014-12-12 12</td>\n",
       "      <td>2014-12-12</td>\n",
       "      <td>12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>10001082</td>\n",
       "      <td>53616768</td>\n",
       "      <td>1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>9762</td>\n",
       "      <td>2014-12-02 15</td>\n",
       "      <td>2014-12-02</td>\n",
       "      <td>15</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>10001082</td>\n",
       "      <td>151466952</td>\n",
       "      <td>1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>5232</td>\n",
       "      <td>2014-12-12 11</td>\n",
       "      <td>2014-12-12</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    user_id    item_id  behavior_type user_geohash  item_category  \\\n",
       "0  10001082  285259775              1      97lk14c           4076   \n",
       "1  10001082    4368907              1          NaN           5503   \n",
       "2  10001082    4368907              1          NaN           5503   \n",
       "3  10001082   53616768              1          NaN           9762   \n",
       "4  10001082  151466952              1          NaN           5232   \n",
       "\n",
       "            time         day hour  \n",
       "0  2014-12-08 18  2014-12-08   18  \n",
       "1  2014-12-12 12  2014-12-12   12  \n",
       "2  2014-12-12 12  2014-12-12   12  \n",
       "3  2014-12-02 15  2014-12-02   15  \n",
       "4  2014-12-12 11  2014-12-12   11  "
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_user['hour'] = df_user['time'].map(lambda time: time.split(' ')[1])\n",
    "df_user.head(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-10-07T05:44:55.108762Z",
     "start_time": "2020-10-07T05:44:52.462611Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_user['hour'].isnull().sum()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-10-07T05:45:04.920323Z",
     "start_time": "2020-10-07T05:44:55.114763Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>user_id</th>\n",
       "      <th>item_id</th>\n",
       "      <th>behavior_type</th>\n",
       "      <th>user_geohash</th>\n",
       "      <th>item_category</th>\n",
       "      <th>time</th>\n",
       "      <th>day</th>\n",
       "      <th>hour</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>35</th>\n",
       "      <td>10001082</td>\n",
       "      <td>275221686</td>\n",
       "      <td>1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>10576</td>\n",
       "      <td>2014-12-17 05</td>\n",
       "      <td>2014-12-17</td>\n",
       "      <td>05</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43</th>\n",
       "      <td>10001082</td>\n",
       "      <td>582649</td>\n",
       "      <td>1</td>\n",
       "      <td>95qobbk</td>\n",
       "      <td>12147</td>\n",
       "      <td>2014-12-17 18</td>\n",
       "      <td>2014-12-17</td>\n",
       "      <td>18</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>125</th>\n",
       "      <td>10001082</td>\n",
       "      <td>275221686</td>\n",
       "      <td>1</td>\n",
       "      <td>NaN</td>\n",
       "      <td>10576</td>\n",
       "      <td>2014-12-17 05</td>\n",
       "      <td>2014-12-17</td>\n",
       "      <td>05</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>176</th>\n",
       "      <td>10001082</td>\n",
       "      <td>188586750</td>\n",
       "      <td>1</td>\n",
       "      <td>95qobcf</td>\n",
       "      <td>12147</td>\n",
       "      <td>2014-12-17 18</td>\n",
       "      <td>2014-12-17</td>\n",
       "      <td>18</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>217</th>\n",
       "      <td>100029775</td>\n",
       "      <td>247380548</td>\n",
       "      <td>1</td>\n",
       "      <td>9t4qcck</td>\n",
       "      <td>10223</td>\n",
       "      <td>2014-12-18 13</td>\n",
       "      <td>2014-12-18</td>\n",
       "      <td>13</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       user_id    item_id  behavior_type user_geohash  item_category  \\\n",
       "35    10001082  275221686              1          NaN          10576   \n",
       "43    10001082     582649              1      95qobbk          12147   \n",
       "125   10001082  275221686              1          NaN          10576   \n",
       "176   10001082  188586750              1      95qobcf          12147   \n",
       "217  100029775  247380548              1      9t4qcck          10223   \n",
       "\n",
       "              time         day hour  \n",
       "35   2014-12-17 05  2014-12-17   05  \n",
       "43   2014-12-17 18  2014-12-17   18  \n",
       "125  2014-12-17 05  2014-12-17   05  \n",
       "176  2014-12-17 18  2014-12-17   18  \n",
       "217  2014-12-18 13  2014-12-18   13  "
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_user_date = df_user[df_user['day'].isin(['2014-12-17', '2014-12-18'])]\n",
    "df_user_date.head(5)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-10-07T05:45:05.412352Z",
     "start_time": "2020-10-07T05:45:04.929324Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "time\n",
       "2014-12-17 00    27588\n",
       "2014-12-17 01    13366\n",
       "2014-12-17 02     7083\n",
       "2014-12-17 03     5203\n",
       "2014-12-17 04     4076\n",
       "2014-12-17 05     4268\n",
       "2014-12-17 06     9198\n",
       "2014-12-17 07    13870\n",
       "2014-12-17 08    21463\n",
       "2014-12-17 09    27999\n",
       "2014-12-17 10    33714\n",
       "2014-12-17 11    33845\n",
       "2014-12-17 12    34724\n",
       "2014-12-17 13    38345\n",
       "2014-12-17 14    36398\n",
       "2014-12-17 15    36792\n",
       "2014-12-17 16    35409\n",
       "2014-12-17 17    32333\n",
       "2014-12-17 18    35012\n",
       "2014-12-17 19    46068\n",
       "2014-12-17 20    55745\n",
       "2014-12-17 21    69826\n",
       "2014-12-17 22    65267\n",
       "2014-12-17 23    46928\n",
       "2014-12-18 00    25803\n",
       "2014-12-18 01    11532\n",
       "2014-12-18 02     6310\n",
       "2014-12-18 03     4253\n",
       "2014-12-18 04     4159\n",
       "2014-12-18 05     5203\n",
       "2014-12-18 06     9223\n",
       "2014-12-18 07    15955\n",
       "2014-12-18 08    20966\n",
       "2014-12-18 09    27433\n",
       "2014-12-18 10    31325\n",
       "2014-12-18 11    30510\n",
       "2014-12-18 12    34871\n",
       "2014-12-18 13    35047\n",
       "2014-12-18 14    34363\n",
       "2014-12-18 15    34245\n",
       "2014-12-18 16    36107\n",
       "2014-12-18 17    31684\n",
       "2014-12-18 18    32535\n",
       "2014-12-18 19    45203\n",
       "2014-12-18 20    58427\n",
       "2014-12-18 21    66889\n",
       "2014-12-18 22    64830\n",
       "2014-12-18 23    44966\n",
       "dtype: int64"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tmp = df_user_date.groupby(['time']).size()\n",
    "tmp"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-10-07T05:45:05.473355Z",
     "start_time": "2020-10-07T05:45:05.424352Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>time</th>\n",
       "      <th>count</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2014-12-17 00</td>\n",
       "      <td>27588</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2014-12-17 01</td>\n",
       "      <td>13366</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2014-12-17 02</td>\n",
       "      <td>7083</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2014-12-17 03</td>\n",
       "      <td>5203</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2014-12-17 04</td>\n",
       "      <td>4076</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>2014-12-17 05</td>\n",
       "      <td>4268</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>2014-12-17 06</td>\n",
       "      <td>9198</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>2014-12-17 07</td>\n",
       "      <td>13870</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>2014-12-17 08</td>\n",
       "      <td>21463</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9</th>\n",
       "      <td>2014-12-17 09</td>\n",
       "      <td>27999</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10</th>\n",
       "      <td>2014-12-17 10</td>\n",
       "      <td>33714</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>2014-12-17 11</td>\n",
       "      <td>33845</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>2014-12-17 12</td>\n",
       "      <td>34724</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>2014-12-17 13</td>\n",
       "      <td>38345</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>2014-12-17 14</td>\n",
       "      <td>36398</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15</th>\n",
       "      <td>2014-12-17 15</td>\n",
       "      <td>36792</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>2014-12-17 16</td>\n",
       "      <td>35409</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>2014-12-17 17</td>\n",
       "      <td>32333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>2014-12-17 18</td>\n",
       "      <td>35012</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>2014-12-17 19</td>\n",
       "      <td>46068</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>2014-12-17 20</td>\n",
       "      <td>55745</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>2014-12-17 21</td>\n",
       "      <td>69826</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>2014-12-17 22</td>\n",
       "      <td>65267</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>2014-12-17 23</td>\n",
       "      <td>46928</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>2014-12-18 00</td>\n",
       "      <td>25803</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>2014-12-18 01</td>\n",
       "      <td>11532</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>2014-12-18 02</td>\n",
       "      <td>6310</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>2014-12-18 03</td>\n",
       "      <td>4253</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>2014-12-18 04</td>\n",
       "      <td>4159</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>2014-12-18 05</td>\n",
       "      <td>5203</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>30</th>\n",
       "      <td>2014-12-18 06</td>\n",
       "      <td>9223</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31</th>\n",
       "      <td>2014-12-18 07</td>\n",
       "      <td>15955</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>32</th>\n",
       "      <td>2014-12-18 08</td>\n",
       "      <td>20966</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>33</th>\n",
       "      <td>2014-12-18 09</td>\n",
       "      <td>27433</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>34</th>\n",
       "      <td>2014-12-18 10</td>\n",
       "      <td>31325</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>35</th>\n",
       "      <td>2014-12-18 11</td>\n",
       "      <td>30510</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36</th>\n",
       "      <td>2014-12-18 12</td>\n",
       "      <td>34871</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>37</th>\n",
       "      <td>2014-12-18 13</td>\n",
       "      <td>35047</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38</th>\n",
       "      <td>2014-12-18 14</td>\n",
       "      <td>34363</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>39</th>\n",
       "      <td>2014-12-18 15</td>\n",
       "      <td>34245</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>40</th>\n",
       "      <td>2014-12-18 16</td>\n",
       "      <td>36107</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>41</th>\n",
       "      <td>2014-12-18 17</td>\n",
       "      <td>31684</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>42</th>\n",
       "      <td>2014-12-18 18</td>\n",
       "      <td>32535</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>43</th>\n",
       "      <td>2014-12-18 19</td>\n",
       "      <td>45203</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>44</th>\n",
       "      <td>2014-12-18 20</td>\n",
       "      <td>58427</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>45</th>\n",
       "      <td>2014-12-18 21</td>\n",
       "      <td>66889</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>46</th>\n",
       "      <td>2014-12-18 22</td>\n",
       "      <td>64830</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>47</th>\n",
       "      <td>2014-12-18 23</td>\n",
       "      <td>44966</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "             time  count\n",
       "0   2014-12-17 00  27588\n",
       "1   2014-12-17 01  13366\n",
       "2   2014-12-17 02   7083\n",
       "3   2014-12-17 03   5203\n",
       "4   2014-12-17 04   4076\n",
       "5   2014-12-17 05   4268\n",
       "6   2014-12-17 06   9198\n",
       "7   2014-12-17 07  13870\n",
       "8   2014-12-17 08  21463\n",
       "9   2014-12-17 09  27999\n",
       "10  2014-12-17 10  33714\n",
       "11  2014-12-17 11  33845\n",
       "12  2014-12-17 12  34724\n",
       "13  2014-12-17 13  38345\n",
       "14  2014-12-17 14  36398\n",
       "15  2014-12-17 15  36792\n",
       "16  2014-12-17 16  35409\n",
       "17  2014-12-17 17  32333\n",
       "18  2014-12-17 18  35012\n",
       "19  2014-12-17 19  46068\n",
       "20  2014-12-17 20  55745\n",
       "21  2014-12-17 21  69826\n",
       "22  2014-12-17 22  65267\n",
       "23  2014-12-17 23  46928\n",
       "24  2014-12-18 00  25803\n",
       "25  2014-12-18 01  11532\n",
       "26  2014-12-18 02   6310\n",
       "27  2014-12-18 03   4253\n",
       "28  2014-12-18 04   4159\n",
       "29  2014-12-18 05   5203\n",
       "30  2014-12-18 06   9223\n",
       "31  2014-12-18 07  15955\n",
       "32  2014-12-18 08  20966\n",
       "33  2014-12-18 09  27433\n",
       "34  2014-12-18 10  31325\n",
       "35  2014-12-18 11  30510\n",
       "36  2014-12-18 12  34871\n",
       "37  2014-12-18 13  35047\n",
       "38  2014-12-18 14  34363\n",
       "39  2014-12-18 15  34245\n",
       "40  2014-12-18 16  36107\n",
       "41  2014-12-18 17  31684\n",
       "42  2014-12-18 18  32535\n",
       "43  2014-12-18 19  45203\n",
       "44  2014-12-18 20  58427\n",
       "45  2014-12-18 21  66889\n",
       "46  2014-12-18 22  64830\n",
       "47  2014-12-18 23  44966"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_user_date_count = pd.DataFrame(tmp.reset_index())\n",
    "df_user_date_count.columns = ['time','count']\n",
    "df_user_date_count"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-10-07T05:45:08.297517Z",
     "start_time": "2020-10-07T05:45:05.484356Z"
    }
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "No handles with labels found to put in legend.\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0xb6811198>"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABXAAAAKPCAYAAADE7OLsAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/d3fzzAAAACXBIWXMAAAsTAAALEwEAmpwYAAC3NUlEQVR4nOzde5zOdf7/8cebcVgkOUyLSZNTxmGMw6Y2WyQbFaWGlKwltflpK5vUfqtNu9lRW3RQqt12SRslFW2yFUn1TXKYnMohRiY2FDk1GD6/P2ZcX8MQ2+DC4367zW2u6/15v9/X532p21zznPfn9QlRFCFJkiRJkiRJij/FjvYJSJIkSZIkSZIKZ4ArSZIkSZIkSXHKAFeSJEmSJEmS4pQBriRJkiRJkiTFKQNcSZIkSZIkSYpTBriSJEmSJEmSFKcMcCVJko5DIYSsEMKFRT02hPCLEMKiH3d2J64QQp8QwtchhM0hhEo/cq4RIYT7i+rc9pp7agih9+GYW5IkSYfGAFeSJEkHLYqi96MoOvNon8fREEJIDiFEIYSE/3J8CWAI8MsoispFUfRN0Z7h0fFj/lggSZKkH2aAK0mSpLj23wamcehUoDSw4GifiCRJko4dBriSJEnHr5+FEBaGENaHEP4RQii9+0AI4dIQQmYIYUMI4X9DCKl7jU0LIcwNIXwXQnhx99gQQqsQQnb+4ztDCC/vOSiE8GgI4bH8xz1DCJ+FEDaFEJaFEH6zV9/rQwhLQwjfhhAmhBCq7XEsCiH0DSEsAZYUtrgQQsv8c98QQlgZQvh1fvvJIYTnQghrQwgrQgh3hxCK5R8bGEJ4fo85CuyqzS8d8KcQwof55/1WCKFyfvdp+d835JdAOKeQcyoVQngkhLAq/+uR/La6wKI9xk8pZOzuc7khf+zqEMJtha19D5VDCG/nn+t7IYTT8+d6IoTw8F7zvx5CuHU/72XbEMLn+f/ew4Cwx7FaIYQpIYRvQgjrQgj/DCFUyD82CqgBvJ7/ngzIbz97j3+bT0MIrX5gHZIkSdoPA1xJkqTjVzfgIqAWUBe4GyCE0BT4O/AboBLwNDAhhFBqj7FdgHbAGUAq8OtC5h8NXBxCKJ8/b/H8cS/kH18DXAqUB3oCQ/NfmxDCBUBGfv+qwApgzF7zXw60AOrv/cIhhBrAm8DjQBUgDcjMP/w4cDJQEzgf+FX+6x+sa/L7JwIlgf757eflf6+QXwLho0LG3gWcnX8+jYGzgLujKFoMNNhj/AUHeP3WQB3gl8CdP1CeoBvwJ6Ayeev/Z377SODqPYLrykAb8v7NCsg/No68/z4qA18A5+7Zhbx/q2pACnAaMBAgiqLuwJdAh/z35MEQQnXgDeB+oCJ579+4EEKVA6xDkiRJ+2GAK0mSdPwaFkXRyiiKvgUGAVfnt18PPB1F0cdRFO2MomgksI284HG3x6IoWpU/9nXyAskCoihaAcwmL2gFuADYGkXR9Pzjb0RR9EWU5z3gLeAX+X27AX+Pomh2FEXbgN8D54QQkvd4iYwoir6Nouj7QtbWDXgniqLRURTtiKLomyiKMvND5KuA30dRtCmKoizgYaD7wb5pwD+iKFqc/7ovFbb2A+gG/DGKojVRFK0F7jvE1wa4L4qiLVEUzQP+wf/9uxXmjSiKpuW/h3eR9x6eFkXRDOA78kJbgK7A1CiKvi5kjouBhVEUvRxF0Q7gEeA/uw9GUbQ0iqK3oyjalr+mIeQF4/tzLTAxiqKJURTtiqLobWBm/utIkiTpEBngSpIkHb9W7vF4BXk7KAFOB27Lv7x9QwhhA3m7Kqvt0f8/ezzeCpTbz2u8wP8FjNfwf7tvCSG0DyFMzy+RsIG8AG93OYJq+ecEQBRFm4FvgOr7Of+9nUbeTtG9VSZv1+yKPdpW7DXvDznYtRemwLoo+L4frP39ux2wb/57+O0e/UeSF6aS/33Ufuaottc80Z7PQwiJIYQxIYSvQggbgef5v3/HwpwOdN7rv6+W5O20liRJ0iEywJUkSTp+nbbH4xrAqvzHK4FBURRV2OOrTBRF+1xefxDGAq1CCElAJ/ID3PxyDOOAh4BToyiqAEzk/2qrriIv6CO/f1nyyjl8tcfc0QFedyV5pSH2tg7Ysefc5K1997xbgDJ7HPvpAV5jbwc6n90KrIuC7/vB2t+/2wH7hhDKkVeyYHf/54HLQgiNySt98Np+5li91zxhr3PIIG/tqVEUlScvDA57HN/7fVkJjNrrv6+yURQNPsA6JEmStB8GuJIkScevviGEpBBCReB/gBfz2/8K3BhCaBHylA0hXBJCOOlQXyD/kvqp5F3qvzyKos/yD5UESgFrgdwQQnvyarru9gLQM4SQlh/2/hn4OL/kwcH4J3BhCKFLCCEhhFAphJAWRdFO8soeDAohnJR/U6/fkRdmQl6d2PNCCDVCCCeTV7rhYK0FdpFXW3d/RgN3hxCq5NeW/cMer32w7gkhlAkhNCCvFu+LB+h7cci7mVtJ8mrhfhxF0UqAKIqygU/I23k7bj+lKCCvXm2DEMIV+Tdzu5mCwfZJwGbybr5WHbh9r/FfU/A9eR7oEEK4KIRQPIRQOuTd/C7pYBYvSZKkggxwJUmSjl8vkFd3dln+1/0AURTNJK8O7jBgPbCUwm9SdiivcyF7lE+IomgTeUHgS/mvcQ0wYY/jk4F7yNulu5q83bRdD/YFoyj6krySDLeRVzYgk7ybhgH8lrydtsuAD/LP6+/5494mLxCdC8wC/nUIr7mVvFrCH+aXBji7kG73k1fvdS4wj7wawfcf7Gvke4+8f5PJwENRFL11gL4vAPeS9x40I68G755GAo3Yf/kEoihaB3QGBpNXxqIO8OEeXe4DmpJXU/cN4JW9psggL7TeEELonx8gX0beHw3Wkrcj93b83UOSJOm/EvJKXEmSJEk6mvJv4LYcKBFFUW4RzXkeeTtik6Mo2lUUc0qSJOnI8q/gkiRJ0nEohFACuAX4m+GtJEnSscsAV5IkSTrOhBBSgA1AVeCRo3oykiRJ+lEsoSBJkiRJkiRJccoduJIkSZIkSZIUpwxwJUmSJEmSJClOJRztE/hvVa5cOUpOTj7apyFJkiRJkiRJP8qsWbPWRVFUpbBjx2yAm5yczMyZM4/2aUiSJEmSJEnSjxJCWLG/Y5ZQkCRJkiRJkqQ4ZYArSZIkSZIkSXHKAFeSJEmSJEmS4tQxWwNXkiRJkiRJkuLNjh07yM7OJicnZ59jpUuXJikpiRIlShz0fAa4kiRJkiRJklREsrOzOemkk0hOTiaEEGuPoohvvvmG7OxszjjjjIOezxIKkiRJkiRJklREcnJyqFSpUoHwFiCEQKVKlQrdmXsgBriSJEmSJEmSVIT2Dm9/qP1ADHAlSZIkSZIkKU4Z4EqSJEmSJElSnDLAlSRJkiRJkqQiFEXRIbUfiAGuJEmSJEmSJBWR0qVL88033+wT1kZRxDfffEPp0qUPab6Eojw5SZIkSZIkSTqRJSUlkZ2dzdq1a/c5Vrp0aZKSkg5pPgNcSZIkSZIkSSoiJUqU4Iwzziiy+SyhIEmSJEmSJElxygBXkiTpBLFhwwbS09OpV68eKSkpfPTRR3z66aecc845NGrUiA4dOrBx40YAduzYQY8ePWjUqBEpKSlkZGQAsHXrVi655BLq1atHgwYNuPPOOwu8xksvvUT9+vVp0KAB11xzzRFfoyRJknS8McCVJEk6Qdxyyy20a9eOzz//nE8//ZSUlBR69+7N4MGDmTdvHp06deIvf/kLAGPHjmXbtm3MmzePWbNm8fTTT5OVlQVA//79+fzzz5kzZw4ffvghb775JgBLliwhIyODDz/8kAULFvDII48cpZVKkiRJxw8DXEmSpBPAxo0bmTZtGtdddx0AJUuWpEKFCixatIjzzjsPgLZt2zJu3DgAQghs2bKF3Nxcvv/+e0qWLEn58uUpU6YMrVu3js3RtGlTsrOzAfjrX/9K3759OeWUUwBITEw80suUJEmSjjsGuJIkSSeAZcuWUaVKFXr27EmTJk3o3bs3W7ZsoWHDhkyYMAHI23W7cuVKANLT0ylbtixVq1alRo0a9O/fn4oVKxaYc8OGDbz++uu0adMGgMWLF7N48WLOPfdczj77bCZNmnRkFylJkiQdhwxwJUmSTgC5ubnMnj2bPn36MGfOHMqWLcvgwYP5+9//zhNPPEGzZs3YtGkTJUuWBGDGjBkUL16cVatWsXz5ch5++GGWLVtWYL6rr76am2++mZo1a8balixZwtSpUxk9ejS9e/dmw4YNR2O5kiRJ0nHjBwPcEMKZIYTMPb42hhBuDSFUDCG8HUJYkv/9lD3G/D6EsDSEsCiEcNEe7c1CCPPyjz0WQgj57aVCCC/mt38cQkg+LKuVJEk6QSUlJZGUlESLFi2AvB22s2fPpl69erz11lvMmjWLq6++mlq1agHwwgsv0K5dO0qUKEFiYiLnnnsuM2fOjM13ww03UKdOHW699dYCr3HZZZdRokQJzjjjDM4880yWLFlyRNcpSZIkHW9+MMCNomhRFEVpURSlAc2ArcCrwJ3A5CiK6gCT858TQqgPdAUaAO2AJ0MIxfOnGw7cANTJ/2qX334dsD6KotrAUOCBIlmdJEmSAPjpT3/KaaedxqJFiwCYPHky9evXZ82aNQDs2rWL+++/nxtvvBGAGjVqMGXKFKIoYsuWLUyfPp169eoBcPfdd/Pdd9/tc5Oyyy+/nHfffReAdevWsXjx4tjuXEmSJEn/nUMtodAG+CKKohXAZcDI/PaRwOX5jy8DxkRRtC2KouXAUuCsEEJVoHwURR9FURQBz+01ZvdcLwNtdu/OlSRJUtF4/PHH6datG6mpqWRmZvI///M/jB49mrp161KvXj2qVatGz549Aejbty+bN2+mYcOG/OxnP6Nnz56kpqaSnZ3NoEGDWLhwIU2bNiUtLY2//e1vAFx00UVUqlSJ+vXr07p1a/7yl79QqVKlo7lkSZIk6ZgX8rLUg+wcwt+B2VEUDQshbIiiqMIex9ZHUXRKCGEYMD2Koufz258F3gSygMFRFF2Y3/4L4I4oii4NIcwH2kVRlJ1/7AugRRRF6/Z3Ls2bN4/2vIxPkiRJkiRJko5FIYRZURQ1L+zYQe/ADSGUBDoCY3+oayFt0QHaDzRm73O4IYQwM4Qwc+3atT9wGpIkSZIkSZJ0bEs4hL7tydt9+3X+869DCFWjKFqdXx5hTX57NnDaHuOSgFX57UmFtO85JjuEkACcDHy79wlEUfQM8Azk7cA9hHOXJEnSXpLvfKNI58safEmRzidJkiTp0GrgXg2M3uP5BKBH/uMewPg92ruGEEqFEM4g72ZlM6IoWg1sCiGcnV/f9ld7jdk9VzowJTqU2g6SJEmSJEmSdBw6qB24IYQyQFvgN3s0DwZeCiFcB3wJdAaIomhBCOElYCGQC/SNomhn/pg+wAjgJ+TVxX0zv/1ZYFQIYSl5O2+7/og1SZIkSZIkSdJx4aAC3CiKtgKV9mr7Bmizn/6DgEGFtM8EGhbSnkN+ACxJkiRJkiRJynMoJRQkSZIkSZIkSUeQAa4kSZIkSZIkxSkDXEmSJEmSJEmKUwa4kiRJkiRJkhSnDHAlSZIkSZIkKU4Z4EqSJEmSJElSnDLAlSRJkiRJkqQ4ZYArSZIkSZIkSXHKAFeSJEmSJEk6zDZs2EB6ejr16tUjJSWFjz76CIDHH3+cM888kwYNGjBgwAAAduzYQY8ePWjUqBEpKSlkZGTE5hk9ejSNGjUiNTWVdu3asW7dOgBWrFhBmzZtSE1NpVWrVmRnZx/5ReqwMMCVJEmSJEmSDrNbbrmFdu3a8fnnn/Ppp5+SkpLCu+++y/jx45k7dy4LFiygf//+AIwdO5Zt27Yxb948Zs2axdNPP01WVha5ubnccsstvPvuu8ydO5fU1FSGDRsGQP/+/fnVr37F3Llz+cMf/sDvf//7o7lcFSEDXEmSJEmSJOkw2rhxI9OmTeO6664DoGTJklSoUIHhw4dz5513UqpUKQASExMBCCGwZcsWcnNz+f777ylZsiTly5cniiKiKGLLli1EUcTGjRupVq0aAAsXLqRNmzYAtG7dmvHjxx+FlepwMMCVJEmSJEmSDqNly5ZRpUoVevbsSZMmTejduzdbtmxh8eLFvP/++7Ro0YLzzz+fTz75BID09HTKli1L1apVqVGjBv3796dixYqUKFGC4cOH06hRI6pVq8bChQtjoXDjxo0ZN24cAK+++iqbNm3im2++OWprVtExwJUkSZIkSZIOo9zcXGbPnk2fPn2YM2cOZcuWZfDgweTm5rJ+/XqmT5/OX/7yF7p06UIURcyYMYPixYuzatUqli9fzsMPP8yyZcvYsWMHw4cPZ86cOaxatYrU1NRYfdyHHnqI9957jyZNmvDee+9RvXp1EhISjvLKVRQMcCVJkiRJkqTDKCkpiaSkJFq0aAHk7bCdPXs2SUlJXHHFFYQQOOussyhWrBjr1q3jhRdeoF27dpQoUYLExETOPfdcZs6cSWZmJgC1atUihECXLl343//9XwCqVavGK6+8wpw5cxg0aBAAJ5988lFZr4qWAa4kSZIkSZJ0GP30pz/ltNNOY9GiRQBMnjyZ+vXrc/nllzNlyhQAFi9ezPbt26lcuTI1atRgypQpsXq306dPp169elSvXp2FCxeydu1aAN5++21SUlIAWLduHbt27QIgIyODXr16HYWV6nBwH7UkSZIkSZJ0mD3++ON069aN7du3U7NmTf7xj39QtmxZevXqRcOGDSlZsiQjR44khEDfvn3p2bMnDRs2JIoievbsSWpqKgD33nsv5513HiVKlOD0009nxIgRAEydOpXf//73hBA477zzeOKJJ47ialWUQhRFR/sc/ivNmzePZs6cebRPQ5Ik6ZiVfOcbRTpf1uBLinQ+SZIk6UQRQpgVRVHzwo5ZQkGSJEmSJEmS4pQlFCRJkiRJkqQjzKuhdLDcgStJkiRJkiRJccoAV5IkSUVmw4YNpKenU69ePVJSUvjoo48YOHAg1atXJy0tjbS0NCZOnAjk3TW5WbNmNGrUiGbNmsXuwAywfft2brjhBurWrUu9evUYN24cAP369YvNU7duXSpUqHA0lilJkiQdMZZQkCRJUpG55ZZbaNeuHS+//DLbt29n69at/Pvf/6Zfv37079+/QN/KlSvz+uuvU61aNebPn89FF13EV199BcCgQYNITExk8eLF7Nq1i2+//RaAoUOHxsY//vjjzJkz58gtTpIkSToKDHAlSZJUJDZu3Mi0adMYMWIEACVLlqRkyZL77d+kSZPY4wYNGpCTk8O2bdsoVaoUf//73/n8888BKFasGJUrV95n/OjRo7nvvvuKdhGSJElSnLGEgiRJkorEsmXLqFKlCj179qRJkyb07t2bLVu2ADBs2DBSU1Pp1asX69ev32fsuHHjaNKkCaVKlWLDhg0A3HPPPTRt2pTOnTvz9ddfF+i/YsUKli9fzgUXXHDY1yVJknQsKayk1W4PPfQQIQTWrVsHwI4dO+jRoweNGjUiJSWFjIyMWN927drRuHFjGjRowI033sjOnTsB2LZtG1dddRW1a9emRYsWZGVlHdH1nYgMcCVJklQkcnNzmT17Nn369GHOnDmULVuWwYMH06dPH7744gsyMzOpWrUqt912W4FxCxYs4I477uDpp5+OzZOdnc25557L7NmzOeecc/YpvzBmzBjS09MpXrz4EVufJEnSsWB3SavPP/+cTz/9lJSUFABWrlzJ22+/TY0aNWJ9x44dy7Zt25g3bx6zZs3i6aefjgWyL730Ep9++inz589n7dq1jB07FoBnn32WU045haVLl9KvXz/uuOOOI77GE40BriRJkopEUlISSUlJtGjRAoD09HRmz57NqaeeSvHixSlWrBjXX389M2bMiI3Jzs6mU6dOPPfcc9SqVQuASpUqUaZMGTp16gRA586dmT17doHXGjNmDFdfffURWpkkSdKxYXdJq+uuuw7IK2m1+6av/fr148EHHySEEOsfQmDLli3k5uby/fffU7JkScqXLw8Q+56bm8v27dtj48aPH0+PHj2AvM97kydPJoqiI7XEE5IBriRJkorET3/6U0477TQWLVoEwOTJk6lfvz6rV6+O9Xn11Vdp2LAhkHd53yWXXEJGRgbnnnturE8IgQ4dOjB16tQC8+y2aNEi1q9fzznnnHMEViVJknTs2F9JqwkTJlC9enUaN25coH96ejply5alatWq1KhRg/79+1OxYsXY8YsuuojExEROOukk0tPTAfjqq6847bTTAEhISODkk0/mm2++OXKLPAF5EzNJkiQVmccff5xu3bqxfft2atasyT/+8Q9uvvlmMjMzCSGQnJwcK5UwbNgwli5dyp/+9Cf+9Kc/AfDWW2+RmJjIAw88QPfu3bn11lupUqUK//jHP2KvMXr0aLp27Vpg94gkSZL+r6TV448/TosWLbjlllsYOHAg06ZN46233tqn/4wZMyhevDirVq1i/fr1/OIXv+DCCy+kZs2aAPz73/8mJyeHbt26MWXKFNq2bVvobls/lx1eBriSJEkqMmlpacycObNA26hRowrte/fdd3P33XcXeuz0009n2rRphR4bOHDgjzpHSZKk41VhJa0GDhzI8uXLY7tvs7Ozadq0KTNmzOCFF16gXbt2lChRgsTERM4991xmzpwZC3ABSpcuTceOHRk/fjxt27YlKSmJlStXkpSURG5uLt99912BXbsqepZQkCRJkiRJko4DhZW0atq0KWvWrCErK4usrCySkpKYPXs2P/3pT6lRowZTpkwhiiK2bNnC9OnTqVevHps3b46VwcrNzWXixInUq1cPgI4dOzJy5EgAXn75ZS644AJ34B5m7sCVJEnSYZN85xtFPmfW4EuKfE5JkqTjRWElrfanb9++9OzZk4YNGxJFET179iQ1NZWvv/6ajh07sm3bNnbu3MkFF1zAjTfeCMB1111H9+7dqV27NhUrVmTMmDFHamknLANcSZIkSZIk6ThRWEmrPWVlZcUelytXjrFjx+7T59RTT+WTTz4pdHzp0qULHaPDxxIKkiRJkiRJkhSn3IErSZIkSZIkHaeKuqSV5ayOPHfgSpIkSZIkSVKcMsCVJEmSJEmSpDhlgCtJkiRJkiRJccoAV5IkSZIkSZLilAGuJEmSJEmSJMUpA1xJkiRJkiRJilMGuJIkSZIkSZIUpwxwJUmSJEmSJClOGeBKkiRJkiRJUpwywJUkSZIkSZKkOGWAK0mSJEmSJElxygBXkiRJkiRJkuKUAa4kSZIkSZIkxSkDXEmSJEmSJEmKUwa4kiRJkiRJkhSnDHAlSZIkSZIkKU4Z4EqSJEmSJElSnDLAlSRJkiRJkqQ4ZYArSZIkSZIkSXHKAFeSJEmSJEmS4pQBriRJkiRJkiTFKQNcSZIkSZIkSYpTBriSJEmSJEmSFKcMcCVJkiRJkiQpThngSpIkSZIkSVKcMsCVJEmSJEmSpDhlgCtJkiRJkiRJccoAV5IkSZIkSZLilAGuJEmSJEmSJMUpA1xJkiRJkiRJilMGuJIkSZIkSZIUpw4qwA0hVAghvBxC+DyE8FkI4ZwQQsUQwtshhCX530/Zo//vQwhLQwiLQggX7dHeLIQwL//YYyGEkN9eKoTwYn77xyGE5CJfqSRJkiRJkiQdYw52B+6jwKQoiuoBjYHPgDuByVEU1QEm5z8nhFAf6Ao0ANoBT4YQiufPMxy4AaiT/9Uuv/06YH0URbWBocADP3JdkiRJkiRJknTM+8EAN4RQHjgPeBYgiqLtURRtAC4DRuZ3Gwlcnv/4MmBMFEXboihaDiwFzgohVAXKR1H0URRFEfDcXmN2z/Uy0Gb37lxJkiRJkiRJOlEdzA7cmsBa4B8hhDkhhL+FEMoCp0ZRtBog/3tifv/qwMo9xmfnt1XPf7x3e4ExURTlAt8Blf6rFUmSJEmSJEnSceJgAtwEoCkwPIqiJsAW8ssl7EdhO2ejA7QfaEzBiUO4IYQwM4Qwc+3atQc+a0mSJEmSJEk6xh1MgJsNZEdR9HH+85fJC3S/zi+LQP73NXv0P22P8UnAqvz2pELaC4wJISQAJwPf7n0iURQ9E0VR8yiKmlepUuUgTl2SJEmSJEmSjl0/GOBGUfQfYGUI4cz8pjbAQmAC0CO/rQcwPv/xBKBrCKFUCOEM8m5WNiO/zMKmEMLZ+fVtf7XXmN1zpQNT8uvkSpIkSZIkSYdVcnIyjRo1Ii0tjebNmwOQmZnJ2WefHWubMWNGgTFffvkl5cqV46GHHgJg69atXHLJJdSrV48GDRpw553/dwF7v379SEtLIy0tjbp161KhQoUjtjYd+xIOst9vgX+GEEoCy4Ce5IW/L4UQrgO+BDoDRFG0IITwEnkhby7QN4qinfnz9AFGAD8B3sz/grwbpI0KISwlb+dt1x+5LkmSJEmSJOmgvfvuu1SuXDn2fMCAAdx77720b9+eiRMnMmDAAKZOnRo73q9fP9q3b19gjv79+9O6dWu2b99OmzZtePPNN2nfvj1Dhw6N9Xn88ceZM2cOUw77inS8OKgAN4qiTKB5IYfa7Kf/IGBQIe0zgYaFtOeQHwBLkiRJkiRJR1sIgY0bNwLw3XffUa1atdix1157jZo1a1K2bNlYW5kyZWjdujUAJUuWpGnTpmRnZ+8z7+jRo7nvvvuYMnn7YV6BjhcHUwNXkiRJkiRJOm6FEPjlL39Js2bNeOaZZwB45JFHuP322znttNPo378/GRkZAGzZsoUHHniAe++9d7/zbdiwgddff502bQrufVyxYgXLly/nggsuOHyL0XHnYEsoSJIkSZIkScelDz/8kGrVqrFmzRratm1LvXr1ePnllxk6dChXXnklL730Etdddx3vvPMO9957L/369aNcuXKFzpWbm8vVV1/NzTffTM2aNQscGzNmDOnp6RQvXvxILEvHCQNcSZIkSZIkndB2l0dITEykU6dOzJgxg5EjR/Loo48C0LlzZ3r37g3Axx9/zMsvv8yAAQPYsGEDxYoVo3Tp0tx0000A3HDDDdSpU4dbb711n9cZM2YMTzzxxJFZlI4bBriSJEmSJEk6YW3ZsoVdu3Zx0kknsWXLFt566y3+8Ic/UK1aNd577z1atWrFlClTqFOnDgDvv/9+bOzAgQMpV65cLLy9++67+e677/jb3/62z+ssWrSI9evXc8455xyZhem4YYArSZIkSZKkE9bXX39Np06dgLzyB9dccw3t2rWjXLly3HLLLeTm5lK6dOlYbdz9yc7OZtCgQdSrV4+mTZsCcNNNN8V27o4ePZquXbsSQji8C9JxxwBXkiRJkiRJJ6yaNWvy6aef7tPesmVLZs2adcCxAwcOjD1OSkoiiqKD6isdCgNcSZIkSZIkaQ/Jd75RpPNlDb6kSOfTiaXY0T4BSZIkSZIkSVLhDHAlSZIkSZIkKU4Z4EqSJEmSJElSnDLAlSRJkiRJkqQ4ZYArSZIkSZIkSXHKAFeSJEmSJEmS4pQBriRJkiRJkiTFKQNcSZIkSZIkSYpTBriSJEmSJEmSFKcMcCVJko6y5ORkGjVqRFpaGs2bNwdg4MCBVK9enbS0NNLS0pg4cSIA//znP2NtaWlpFCtWjMzMzALzdezYkYYNG8aejxgxgipVqsTG/O1vfztia5MkSZL04yQc7ROQJEkSvPvuu1SuXLlAW79+/ejfv3+Btm7dutGtWzcA5s2bx2WXXUZaWlrs+CuvvEK5cuX2mf+qq65i2LBhRX/ikiRJkg4rd+BKkiQdo0aPHs3VV18de75582aGDBnC3XfffRTPSpIkSVJRMsCVJEk6ykII/PKXv6RZs2Y888wzsfZhw4aRmppKr169WL9+/T7jXnzxxQIB7j333MNtt91GmTJl9uk7btw4UlNTSU9PZ+XKlYdnIZIkSZKKnAGuJEnSUfbhhx8ye/Zs3nzzTZ544gmmTZtGnz59+OKLL8jMzKRq1arcdtttBcZ8/PHHlClTJlbrNjMzk6VLl9KpU6d95u/QoQNZWVnMnTuXCy+8kB49ehyRdUmSJEn68QxwJUmSjrJq1aoBkJiYSKdOnZgxYwannnoqxYsXp1ixYlx//fXMmDGjwJgxY8YU2H370UcfMWvWLJKTk2nZsiWLFy+mVatWAFSqVIlSpUoBcP311zNr1qwjszBJkiRJP5oBriRJ0lG0ZcsWNm3aFHv81ltv0bBhQ1avXh3r8+qrr8Z22gLs2rWLsWPH0rVr11hbnz59WLVqFVlZWXzwwQfUrVuXqVOnAhSYa8KECaSkpBzmVUmSJEkqKglH+wQkSZJOZF9//XWs7EFubi7XXHMN7dq1o3v37mRmZhJCIDk5maeffjo2Ztq0aSQlJVGzZs2Deo3HHnuMCRMmkJCQQMWKFRkxYsThWIokSZKkw8AAV5Ik6SiqWbMmn3766T7to0aN2u+YVq1aMX369P0eT05OZv78+bHnGRkZZGRk/LgTlSRJknRUWEJBkiRJkiRJkuKUO3AlSZLiTPKdbxT5nFmDLynyOSVJkiQdfu7AlSRJkiRJkqQ4ZYArSZIkSZIkSXHKAFeSJEmSJEmS4pQBriRJkiRJkiTFKQNcSZIkSZIkSYpTBriSJEmSJEmSFKcMcCVJkiRJkiQpThngSpIkSZIkSVKcMsCVJEmSJEmSpDhlgCtJkiRJkiRJccoAV5IkSZIkSZLilAGuJEmSJEmSJMUpA1xJkiRJkiRJilMGuJIkSZIkSZIUpwxwJUmSJEmSJClOGeBKkiRJkiRJUpwywJUkSZIkSZKkOGWAK0mSJEmSJElxygBXkiRJkiRJkuKUAa4kSZIkSZIkxSkDXEmSJEmSJEmKUwa4kiRJkiRJkhSnDHAlSZIkSZIkKU4Z4EqSJEmSJElSnDLAlSRJkiRJkqQ4ZYArSZIkSZIkSXHKAFeSJEmSJEmS4pQBriRJkiRJkiTFKQNcSZIkSZIkSYpTBriSJEmSJEmSFKcMcCVJkiRJkiQpThngSpIkSZIkSVKcMsCVJEmSJEmSpDhlgCtJkiRJkiRJccoAV5IkSZIkSZLilAGuJEmSJEmSJMUpA1xJkiRJkiRJilMGuJIkSZIkSZIUpw4qwA0hZIUQ5oUQMkMIM/PbKoYQ3g4hLMn/fsoe/X8fQlgaQlgUQrhoj/Zm+fMsDSE8FkII+e2lQggv5rd/HEJILuJ1SpIkSZIkSdIx51B24LaOoigtiqLm+c/vBCZHUVQHmJz/nBBCfaAr0ABoBzwZQiieP2Y4cANQJ/+rXX77dcD6KIpqA0OBB/77JUmSJEmSJEnS8eHHlFC4DBiZ/3gkcPke7WOiKNoWRdFyYClwVgihKlA+iqKPoiiKgOf2GrN7rpeBNrt350qSJEmSJEnSiepgA9wIeCuEMCuEcEN+26lRFK0GyP+emN9eHVi5x9js/Lbq+Y/3bi8wJoqiXOA7oNKhLUWSJEmSJEmSji8JB9nv3CiKVoUQEoG3QwifH6BvYTtnowO0H2hMwYnzwuMbAGrUqHHgM5YkSZIkSZKkY9xB7cCNomhV/vc1wKvAWcDX+WURyP++Jr97NnDaHsOTgFX57UmFtBcYE0JIAE4Gvi3kPJ6Joqh5FEXNq1SpcjCnLkmSJEmSJEnHrB8McEMIZUMIJ+1+DPwSmA9MAHrkd+sBjM9/PAHoGkIoFUI4g7yblc3IL7OwKYRwdn5921/tNWb3XOnAlPw6uZIkSZIkSZJ0wjqYEgqnAq/m31MsAXghiqJJIYRPgJdCCNcBXwKdAaIoWhBCeAlYCOQCfaMo2pk/Vx9gBPAT4M38L4BngVEhhKXk7bztWgRrkyRJkiRJkqRj2g8GuFEULQMaF9L+DdBmP2MGAYMKaZ8JNCykPYf8AFiSJEmSJEmSlOegauBKkiRJkiRJko48A1xJkiRJkiRJilMGuJIkSZIkSZIUpwxwJUmSJEmSJClOGeBKkiRJkiRJUpwywJUkSZIkSZKkOGWAK0mSJEmSJElxygBXkiRJkiRJkuKUAa4kSZKOOTt37qRJkyZceumlsbbHH3+cM888kwYNGjBgwAAAtm/fTs+ePWnUqBGNGzdm6tSpAGzdupVLLrmEevXq0aBBA+68887YPF9++SWtW7emSZMmpKamMnHixCO6NkmSJGlPCUf7BCRJkqRD9eijj5KSksLGjRsBePfddxk/fjxz586lVKlSrFmzBoC//vWvAMybN481a9bQvn17PvnkEwD69+9P69at2b59O23atOHNN9+kffv23H///XTp0oU+ffqwcOFCLr74YrKyso7KOiVJkiR34EqSJOmYkp2dzRtvvEHv3r1jbcOHD+fOO++kVKlSACQmJgKwcOFC2rRpE2urUKECM2fOpEyZMrRu3RqAkiVL0rRpU7KzswEIIcSC4e+++45q1aodsbVJkiRJezPAlSRJ0jHl1ltv5cEHH6RYsf/7KLt48WLef/99WrRowfnnnx/bZdu4cWPGjx9Pbm4uy5cvZ9asWaxcubLAfBs2bOD111+PBb0DBw7k+eefJykpiYsvvpjHH3/8yC1OkiRJ2osBriRJko4ZW5fOIDExkWbNmhVoz83NZf369UyfPp2//OUvdOnShSiK6NWrF0lJSTRv3pxbb72Vn//85yQkJBQYd/XVV3PzzTdTs2ZNAEaPHs2vf/1rsrOzmThxIt27d2fXrl1HdJ2SJEnSbtbAlSRJ0jFj21cLmTD9IyZOnEhOTg4bN27k2muvJSkpiSuuuIIQAmeddRbFihVj3bp1VKlShaFDh8bG//znP6dOnTqx5zfccAN16tTh1ltvjbU9++yzTJo0CYBzzjmHnJwc1q1bFyvLIEmSJB1J7sCVJEn6ATt37qRJkyZceumlsbbHH3+cM888kwYNGjBgwIBYe0ZGBrVr1+bMM8/k3//+d6x9+/bt3HDDDdStW5d69eoxbtw4AL788ktat25NkyZNSE1NZeLEiUduYcegU87P2xmblZXFmDFjuOCCC3j++ee5/PLLmTJlCpBXTmH79u1UrlyZrVu3smXLFgDefvttEhISqF+/PgB333033333HY888kiB16hRowaTJ08G4LPPPiMnJ4cqVaocuUVKkiRJe3AHriRJ0g949NFHSUlJid3Y6t1332X8+PHMnTuXUqVKsWbNGiDvhlljxoxhwYIFrFq1igsvvJDFixdTvHhxBg0aRGJiIosXL2bXrl18++23ANx///106dKFPn36sHDhQi6++GLo+sRRW+uxqlevXvTq1YuGDRtSsmRJRo4cSQiBNWvWcNFFF1GsWDGqV6/OqFGjgLwboQ0aNIh69erRtGlTAG666SZ69+7Nww8/zPXXX8/QoUMJITBixAhCCEdzeZIkSTqBGeBKkiQdQHZ2Nm+88QZ33XUXQ4YMAWD48OHceeedlCpVCiB2af348ePp2rUrpUqV4owzzqB27drMmDGDc845h7///e98/vnnABQrVozKlSsDEEKIBcPfffcd1apVY9WRXuQxqlWrVrRq1QqAkiVL8vzzz+/TJzk5mUWLFu3TnpSURBRFhc5bv359PvzwwyI9V0mSJOm/ZQkFSZKkA7j11lt58MEHKVbs/z42LV68mPfff58WLVpw/vnn88knnwDw1Vdfcdppp8X6JSUl8dVXX7FhwwYA7rnnHpo2bUrnzp35+uuvARg4cCDPP/88SUlJXHzxxTz++ONHbnGSJEmS4p47cCVJkvbjX//6F4mJiTRr1oypU6fG2nNzc1m/fj3Tp0/nk08+oUuXLixbtqzQHZ0hBHJzc8nOzubcc89lyJAhDBkyhP79+zNq1ChGjx7Nr3/9a2677TY++ugjunfvTtThAULw7+yHIvnON4p0vqzBlxTpfJIkSdJ/ywBXkiRpPz788EMmTJjAxIkTycnJYePGjVx77bUkJSVxxRVXEELgrLPOolixYqxbt46kpCRWrlwZG5+dnU21atWoVKkSZcqUoVOnTgB07tyZZ599FoBnn32WSZMmAXDOOeeQk5PDrq0bKV62whFfryRJkqT449YOSZKk/cjIyCA7O5usrCzGjBnDBRdcwPPPP8/ll1/OlClTgLxyCtu3b6dy5cp07NiRMWPGsG3bNpYvX86SJUs466yzCCHQoUOH2C7eyZMnU79+fQBq1KjB5MmTAfjss8/IycmhWJmTj8p6JUmSJMUfA1xJkqRD1KtXL5YtW0bDhg3p2rUrI0eOJIRAgwYN6NKlC/Xr16ddu3Y88cQTFC9eHIAHHniAgQMHkpqayqhRo3j44YcBePjhh/nrX/9K48aNufrqqxkxYgQhhKO5PEmSpLiyc+dOmjRpwqWXXgrk3UOgevXqpKWlkZaWxsSJEwF4++23adasGY0aNaJZs2axP7gDzJo1i0aNGlG7dm1uvvnmWOmrp556ikaNGpGWlkbLli1ZuHDhkV+g9AMMcCVJkg5Cq1at+Ne//gVAyZIlef7555k/fz6zZ8/mggsuiPW76667+OKLL1i0aBHt27ePtZ9++ulMmzaNuXPnMnnyZGrUqAFA/fr1+fDDD/n000/JzMzkl7/85ZFdmCRJUpx79NFHSUlJKdDWr18/MjMzyczM5OKLLwagcuXKvP7668ybN4+RI0fSvXv3WP8+ffrwzDPPsGTJEpYsWRIrYXXNNdcwb948MjMzGTBgAL/73e+O3MKOcXsH67s99NBDhBBYt24dANu3b6dnz540atSIxo0bF7i3xPbt27nhhhuoW7cu9erVY9y4cbFjL730EvXr16dBgwZcc801R2RN8coauJIkSZIkSYpL2dnZvPHGG9x1110MGTLkgH2bNGkSe9ygQQNycnLYtm0b3377LRs3buScc84B4Fe/+hWvvfYa7du3p3z58rExW7Zs8UqoQ7A7WN+4cWOsbeXKlbz99tuxzQoAf/3rXwGYN28ea9asoX379nzyyScUK1aMQYMGkZiYyOLFi9m1axfffvstAEuWLCEjI4MPP/yQU045hTVr1hzZxcUZA1xJkqRDkHznG0U6X9bgS4p0PkmSpOPJrbfeyoMPPsimTZsKtA8bNoznnnuO5s2b8/DDD3PKKacUOD5u3DiaNGlCqVKl+Oqrr0hKSoodS0pK4quvvoo9f+KJJxgyZAjbt28vUHZB+7e/YL1fv348+OCDXHbZZbG2hQsX0qZNGwASExOpUKECM2fO5KyzzuLvf/87n3/+OQDFihWjcuXKQF7o27dv39i/a2Ji4pFaWlyyhIIkSZIkSZLizr/+9S8SExNp1qxZgfY+ffrwxRdfkJmZSdWqVbntttsKHF+wYAF33HEHTz/9NECs3u2e9txp27dvX7744gseeOAB7r///sOwkuPP7mC9WLH/ixYnTJhA9erVady4cYG+jRs3Zvz48eTm5rJ8+XJmzZrFypUr2bBhAwD33HMPTZs2pXPnznz99ddA3o2CFy9ezLnnnsvZZ58dK3lxojLAlSRJkiRJUtz58MMPmTBhAsnJyXTt2pUpU6Zw7bXXcuqpp1K8eHGKFSvG9ddfz4wZM2JjsrOz6dSpE8899xy1atUC8nbcZmdnF+hTrVq1fV6va9euvPbaa4d9Xce6woL1rVu3MmjQIP74xz/u079Xr14kJSXRvHlzbr31Vn7+85+TkJBAbm4u2dnZnHvuucyePZtzzjmH/v37A5Cbm8uSJUuYOnUqo0ePpnfv3rHA90RkgCtJkiRJkqS4k5GRQXZ2NllZWYwZM4YLLriA559/ntWrV8f6vPrqqzRs2BCADRs2cMkll5CRkcG5554b61O1alVOOukkpk+fThRFPPfcc7FL/JcsWRLr98Ybb1CnTp0jtLpjV2HBevfu3Vm+fDmNGzcmOTmZ7OxsmjZtyn/+8x8SEhIYOnQomZmZjB8/ng0bNlCnTh0qVapEmTJl6NSpEwCdO3dm9uzZQF7oftlll1GiRAnOOOMMzjzzzAL/VicaA1xJkiRJkiQdMwYMGECjRo1ITU3l3XffZejQoUBeXdylS5fypz/9ibS0NNLS0mI3vxo+fDi9e/emdu3a1KpVi/bt28fGNGjQgLS0NIYMGcLIkSOP2rqOFYUF6+PGjWPNmjVkZWWRlZVFUlISs2fP5qc//Slbt25ly5YtALz99tskJCRQv359Qgh06NCBqVOnAjB58mTq168PwOWXX867774LwLp161i8eDE1a9Y8KuuNB97ETJIkSZIkSXGtVatWtGrVCoBRo0YV2ufuu+/m7rvvLvRY8+bNmT9//j7tjz76aJGdowq3Zs0aLrroIooVK0b16tUL/Ps98MADdO/enVtvvZUqVarwj3/8A4CLLrqIt956i/r161O8eHH+8pe/UKlSpaO1hKPOAFeSJEmSJEnSIdszWN9TVlZW7HFycjKLFi0qdPzpp5/OtGnT9mkPITBkyBCGDBlSVKd6TDPAlSRJkiRJ0jEh+c43inzOrMGXFPmcUlEywJUkSZIkSZL0XyvqYN1QvSBvYiZJkiRJkiRJccoAV5IkSZIkSZLilAGuJEmSJEmSJMUpA1xJkiRJkiRJilMGuJIkSZIkSZIUpwxwJUmSJEmSJClOGeBKkiRJkiRJUpwywJUkSZIkSZKkOGWAK0mSJEmSJElxygBXkiRJkiRJkuKUAa4kSZIkSZIkxSkDXEmSJEmSJEmKUwa4kiRJkiRJkhSnDHAlSZIkSZIkKU4Z4EqSJEmSJElSnDLAlSRJkiRJkqQ4ZYArSZIkSZIkSXHKAFeSJEmSJEmS4pQBriRJkiRJkiTFKQNcSZIkSZIkSYpTBriSJEmSJEmSFKcMcCVJkiRJkiQpThngSpIkSZIkSVKcMsCVJEmSJEmSpDhlgCtJkiRJkiRJccoAV5IkSZIkSZLilAGuJEmSJEmSJMUpA1xJkiRJkiRJilMGuJIkSZIkSZIUpwxwJUmSJEmSJClOGeBKkiRJkiRJUpwywJUkSZIkSZKkOHXQAW4IoXgIYU4I4V/5zyuGEN4OISzJ/37KHn1/H0JYGkJYFEK4aI/2ZiGEefnHHgshhPz2UiGEF/PbPw4hJBfhGiVJkiRJkiTpmHQoO3BvAT7b4/mdwOQoiuoAk/OfE0KoD3QFGgDtgCdDCMXzxwwHbgDq5H+1y2+/DlgfRVFtYCjwwH+1GkmSJEmSJEk6jhxUgBtCSAIuAf62R/NlwMj8xyOBy/doHxNF0bYoipYDS4GzQghVgfJRFH0URVEEPLfXmN1zvQy02b07V5IkSZIkSZJOVAe7A/cRYACwa4+2U6MoWg2Q/z0xv706sHKPftn5bdXzH+/dXmBMFEW5wHdApYNdhCRJkiRJkiQdj34wwA0hXAqsiaJo1kHOWdjO2egA7Qcas/e53BBCmBlCmLl27dqDPB1JkiRJkiRJOjYdzA7cc4GOIYQsYAxwQQjheeDr/LII5H9fk98/Gzhtj/FJwKr89qRC2guMCSEkACcD3+59IlEUPRNFUfMoippXqVLloBYoSZIkSZIkSceqHwxwoyj6fRRFSVEUJZN3c7IpURRdC0wAeuR36wGMz388AegaQigVQjiDvJuVzcgvs7AphHB2fn3bX+01Zvdc6fmvsc8OXEmS9pSTk8NZZ51F48aNadCgAffeey8AmZmZnH322aSlpdG8eXNmzJgBwIwZM0hLSyMtLY3GjRvz6quv7jNnx44dadiwYez5iBEjqFKlSmzc3/72t33GSJIkSZJ0uCT8iLGDgZdCCNcBXwKdAaIoWhBCeAlYCOQCfaMo2pk/pg8wAvgJ8Gb+F8CzwKgQwlLydt52/RHnJUk6QZQqVYopU6ZQrlw5duzYQcuWLWnfvj1/+MMfuPfee2nfvj0TJ05kwIABTJ06lYYNGzJz5kwSEhJYvXo1jRs3pkOHDiQk5P04fOWVVyhXrtw+r3PVVVcxbNiwI708SZIkSZIOLcCNomgqMDX/8TdAm/30GwQMKqR9JtCwkPYc8gNgSZIOVgghFrju2LGDHTt2EEIghMDGjRsB+O6776hWrRoAZcqUiY3Nyckh74KQPJs3b2bIkCE888wzdOnS5QiuQpIkSZKk/TuYGriSJMWtnTt3kpaWRmJiIm3btqVFixY88sgj3H777Zx22mn079+fjIyMWP+PP/6YBg0a0KhRI5566qnY7tt77rmH2267rUDIu9u4ceNITU0lPT2dlStXHrG1SZIkSZJkgCtJOqYVL16czMxMsrOzmTFjBvPnz2f48OEMHTqUlStXMnToUK677rpY/xYtWrBgwQI++eQTMjIyyMnJITMzk6VLl9KpU6d95u/QoQNZWVnMnTuXCy+8kB49euzTR5IkSZKkw8UAV5J0XKhQoQKtWrVi0qRJjBw5kiuuuAKAzp07x25itqeUlBTKli3L/Pnz+eijj5g1axbJycm0bNmSxYsX06pVKwAqVapEqVKlALj++uuZNWvWEVuTJEmSJEkGuJKkY9batWvZsGEDAN9//z3vvPMO9erVo1q1arz33nsATJkyhTp16gCwfPlycnNzAVixYgWLFi0iOTmZPn36sGrVKrKysvjggw+oW7cuU6dOBWD16tWx15swYQIpKSlHboGSJEmSpBPeId3ETJKkeLJ69Wp69OjBzp072bVrF126dOHSSy+lQoUK3HLLLeTm5lK6dGmeeeYZAD744AMGDx5MiRIlKFasGE8++SSVK1c+4Gs89thjTJgwgYSEBCpWrMiIESOOwMokSZIkScpjgCtJOmalpqYyZ86cfdpbtmxZaKmD7t2707179wPOmZyczPz582PPMzIyCtwETZIkSZKkI8kSCpIkSZIkSZIUp9yBK0k6riTf+UaRzpc1+JIinU+SJEmSpEPhDlxJkiRJkiRJilMGuJIkxYGcnBzOOussGjduTIMGDbj33ntjxx5//HHOPPNMGjRowIABAwD45z//SVpaWuyrWLFiZGZmAvDiiy+SmppaoD/AkCFDqF+/PqmpqbRp04YVK1Yc0TVKkiRJkg6dJRQkSYoDpUqVYsqUKZQrV44dO3bQsmVL2rdvz/fff8/48eOZO3cupUqVYs2aNQB069aNbt26ATBv3jwuu+wy0tLS+Oabb7j99tuZNWsWVapUoUePHkyePJk2bdrQpEkTZs6cSZkyZRg+fDgDBgzgxRdfPJrLliRJkiT9AHfgSpIUB0IIlCtXDoAdO3awY8cOQggMHz6cO++8k1KlSgGQmJi4z9jRo0dz9dVXA7Bs2TLq1q1LlSpVALjwwgsZN24cAK1bt6ZMmTIAnH322WRnZx/2dUmSJEmSfhwDXEmSfsChljeYMWNGrLRB48aNefXVV2P991fe4Msvv6RVq1b85Cc/4aSTTqJmzZq0aNGCxYsX8/7779OiRQvOP/98Pvnkk33O78UXX4wFuLVr1+bzzz8nKyuL3NxcXnvtNVauXLnPmGeffZb27dsX2XskSZIkSTo8LKEgSdIPONTyBg0bNmTmzJkkJCSwevVqGjduTIcOHfjuu+/2W97g/vvv56qrrmLq1KlMnz6dVq1aMX/+fHJzc1m/fj3Tp0/nk08+oUuXLixbtowQAgAff/wxZcqUoWHDhgCccsopDB8+nKuuuopixYrx85//nGXLlhVYz/PPP8/MmTN57733juwbKUmSJEk6ZO7AlSTpBxxqeYMyZcqQkJD3N9KcnJxY2Hqg8gYhBDZu3AhAFEVUqVKFSZMmkZSUxBVXXEEIgbPOOotixYqxbt262LmNGTMmtvt2tw4dOvDxxx/z0UcfceaZZ1KnTp3YsXfeeYdBgwYxYcKE2HlLkiTpyDjUK7u++eYbWrduTbly5bjpppsKzDVr1iwaNWpE7dq1ufnmm4miCIB+/frFrgarW7cuFSpUOGLrk3R4uANXkqSDsHPnTpo1a8bSpUvp27dvgfIGd911F6VLl+ahhx7iZz/7GZC3M7ZXr16sWLGCUaNGkZCQUKC8QVJSEq+99hrbt28H4Le//S1dunTh8ccfZ/PmzZxxxhnUq1ePcuXKMWXKFFq1asXixYvZvn07lStXBmDXrl2MHTuWadOmFTjXNWvWkJiYyPr163nyySd56aWXAJgzZw6/+c1vmDRpUqG1dCVJknR4HeqVXaVLl+ZPf/oT8+fPZ/78+QXm6tOnD8888wxnn302F198MZMmTaJ9+/YMHTo01ufxxx9nzpw5R3SNkoqeAa4kSQehePHiZGZmsmHDBjp16vSD5Q1atGjBggUL+Oyzz+jRowft27c/YHmDESNG8N1331GpUiVKlixJdnY2F198Mbm5ufTq1YuGDRtSsmRJRo4cGdvRO23aNJKSkqhZs2aBc73lllv49NNPAfjDH/5A3bp1Abj99tvZvHkznTt3BqBGjRpMmDDhSL2FkiRJJ7xDvbKrbNmytGzZkqVLlxaYZ/Xq1WzcuJFzzjkHgF/96le89tpr+9zjYPTo0dx3332He1mSDjMDXEmSDkGFChVo1arVAcsb7C6RAJCSkkLZsmWZP38+zZs3p0OHDnTo0AGAZ555huLFiwPw5ptvMn36dE477TQAatasybp160hMTOT5558v9FxatWrF9OnT92kfPXp0of3feeedH7V2SZIk/XiHemVXYb766iuSkpJiz5OSkvjqq68K9FmxYgXLly/nggsuOGxrkXRkWANXkqQfsHbtWjZs2ADA999/zzvvvEO9evW4/PLLmTJlCkCB8gbLly8nNzcXyPvgvGjRIpKTkwFil8PtLm/Qu3dvIG837OTJkwH47LPPyMnJKRAES5Ik6fiw+8qu7OxsZsyYsc+VXX/5y1/o0qVLrKZtYQo7tvsqrd3GjBlDenp6bMOApGOXO3AlSfoBq1evpkePHuzcuZNdu3bRpUsXLr30UrZv315oeYMPPviAwYMHU6JECYoVK8aTTz4Zq1u7v/IGDz/8MNdffz1Dhw4lhMCIESM44/cTi3Qdnw9sw3nnnce2bdvIzc0lPT2d++67j4EDB/LXv/41Fhj/+c9/5uKLL46N+/LLL6lfvz4DBw6kf//+QN5NM37961/z/fffc/HFF/Poo48SQmDFihX06tWLtWvXUrFiRZ5//vkCu0MkSZKU51Cv7NpTUlIS2dnZsefZ2dlUq1atQJ8xY8bwxBNPHNY1SDoyDHAlSfoBqamphd78oWTJkoWWN+jevTvdu3cvdK79lTeoX78+H374YcHGKW8c+skewP5umgF5dyveHc7urV+/fvvUU9vfTTP69+/Pr371K3r06MGUKVP4/e9/z6hRo4p0HZIkSceqtWvXUqJECSpUqBC7suuOO+444I1rC1O1alVOOukkpk+fTosWLXjuuef47W9/Gzu+aNEi1q9fH6uRK+nYZoArSdIJYn83zTiQ1157jZo1a1K2bNlY24FumrFw4cLYnY9bt27N5ZdffngWI0mSdAw61Cu7AJKTk9m4cSPbt2/ntdde46233qJ+/foMHz48dkVU+/btC/zBffTo0XTt2vUHP+tJOjYY4EqS9F9IvrNod8dmDb6kSOfbn8JumvHmm28ybNgwnnvuOZo3b87DDz/MKaecwpYtW3jggQd4++23eeihh2JzHOimGY0bN2bcuHHccsstvPrqq2zatIlvvvmGSpUqFek6cnJyDrkcREZGBs8++yzFixfnscce46KLLgLgrrvu4rnnnmP9+vVs3rw59hpDhgzhb3/7GwkJCVSpUoW///3vnH766UW6DkmSjmVF+fN4t44dO7Js2TLmz58P5F0J9O677wKwdetW1qxZE7s3wbHoUK/sAsjKyiq0vXnz5rH3aW8DBw78b09RUhzyJmaSJJ1ACrtpRp8+ffjiiy/IzMykatWq3HbbbQDce++99OvXL7Zrd7cD3TTjoYce4r333qNJkya89957VK9enYSEov978e5yEJ9++imZmZlMmjSJ6dOnA3m/6GVmZpKZmRn7ZXHhwoWMGTOGBQsWMGnSJP7f//t/7Ny5E4AOHTowY8aMfV6jSZMmzJw5k7lz55Kens6AAQOKfB2SJB0uOTk5nHXWWTRu3JgGDRpw7733Fjj+0EMPEUJg3bp1QN7VOT169KBRo0akpKSQkZEBwKZNm0hLS4t9Va5cmVtvvRWAjz/+mG3btrFgwQLuueeeH/XzGOCVV17Z53PH0KFDY/P89re/5Yorrjgs75ckxTN34EqSDov97cjY7aGHHuL2229n7dq1VK5cmX/+85/85S9/iR2fO3cus2fPpm7dunTu3JkvvviC4sWL06FDBwYPHlzgtV5++WU6d+7MJ598csTWd6zb86YZe9a+vf7667n00kuBvF/KXn75ZQYMGMCGDRsoVqwYpUuX5sorr9zvTTOqVavGK6+8AsDmzZsZN24cJ598cpGf/6GWgxg/fjxdu3alVKlSnHHGGdSuXZsZM2ZwzjnncPbZZxc6pnXr1rHHZ5999n53xUiSFI/2V/v+7LPPZuXKlbz99tvUqFEj1n/s2LFs27aNefPmsXXrVurXr8/VV19NcnIymZmZsX7NmjWLhainn346o0aN4qGHHmLnzp0/6ufx5s2bGTJkCM888wxdunQpdPzo0aMLfJ48XhyrV3ZJOnLcgStJOiwOtEOysF8aunXrFttdMWrUKJKTk0lLSwOgf//+fP7558yZM4cPP/yQN998MzZu06ZNPPbYY7Ro0eKIru9YtHbt2tglh7tvmlGvXj1Wr14d6/Pqq6/SsGFDAN5//32ysrLIysri1ltv5X/+53+46aabCtw0I4oinnvuOS677DIA1q1bx65du4C8SyR79ep12Nazc+dO0tLSSExMpG3btrH/BoYNG0Zqaiq9evVi/fr1QF7Zh9NOOy02ds+yDwfj2Wef3edGbpIkxbMD/bGzX79+PPjggwXC1hACW7ZsITc3l++//56SJUtSvnz5AnMuWbKENWvW8Itf/ALIq83aoEED/vWvf3Hdddf9qJ/H99xzD7fddhtlypQpdD0rVqxg+fLlXHDBBUXx9kjSMcUAV5J0WBzqLw17Gj16NFdffTUAZcqUie2ELFmyJE2bNi2w+/Oee+5hwIABlC5d+nAu57iwevVqWrduTWpqKj/72c9o27Ytl156KQMGDKBRo0akpqby7rvvxm5CdiDDhw+nd+/e1K5dm1q1asXCzalTp3LmmWdSt25dvv76a+66667Dtp5DKQdxoLIPP+T5559n5syZ3H777UV6/pIkHW6F/bFzwoQJVK9encaNGxfom56eTtmyZalatSo1atSgf//+VKxYsUCf0aNHc9VVVxX4GVq8eHE6duzI008//V//PM7MzGTp0qV06tRpv2sZM2YM6enpFC9e/Me8JZJ0TDLAlSQdNofyS8OeXnzxxViAu6cNGzbw+uuv06ZNGwDmzJnDypUrY5f868B23zRj7ty5zJ8/nz/84Q8AjBo1innz5jF37lwmTJhA1apV9xk7cODAAqUWdt8044svvmDYsGGxX+TS09NZsmQJixcv5m9/+xulSpU67OvasxzEqaeeSvHixSlWrBjXX399rLZtUlISK1eujI3Zs+zDgbzzzjsMGjSICRMmHJG1SJJUlPb+Y+fcuXMZNGgQf/zjH/fpO2PGDIoXL86qVatYvnw5Dz/8MMuWLSvQZ8yYMYV+RgMoW7bsf/3z+KOPPmLWrFkkJyfTsmVLFi9eTKtWrWL9cnJy+OMf/8ikSZMOqp7vjBkzYjV7GzduzKuvvhrru337dm644Qbq1q1LvXr1GDduHABPPfUUjRo1Ii0tjZYtW7Jw4cJDeKcl6fAywJUkHTaH8kvDbh9//DFlypSJXca/W25uLldffTU333wzNWvWZNeuXfTr14+HH374cC9DcehQy0F07NiRMWPGsG3bNpYvX86SJUs466yzDvgac+bM4Te/+Q0TJkwgMTHxsK1FkqTDbfcfO8ePH8/y5ctp3LgxycnJZGdn07RpU/7zn//wwgsv0K5dO0qUKEFiYiLnnnsuM2fOjM3x6aefkpubS7NmzWJte/483rZt23/987hPnz6sWrWKrKwsPvjgA+rWrcvUqVNjc2RlZVGpUiUWL158UKW5GjZsyMyZM2N9f/Ob35CbmwvAoEGDSExMZPHixSxcuJDzzz8fgCuuuIKf/OQnRFHEl19+SceOHQu8h3uHxG+//TbNmjWjUaNGNGvWjClTpuzzvnfs2LHAZ9oRI0ZQpUqVWLj8t7/97eD/ESWd0LyJmSTpsCvslwYg9kvDjBkz+OlPfwrsf2fHDTfcQJ06dWJ3Pd60aRPz58+P7c74z3/+Q8eOHYnaDqBU1TpHZF3Hg6K+aQYcmRtnrF69mh49erBz50527dpFly5duPTSS+nevTuZmZmEEEhOTubpp58GoEGDBnTp0oX69euTkJDAE088EbsEc8CAAbzwwgts3bqVpKQkevfuzcCBA7n99tvZvHkznTt3BqBGjRpMmDDhsK9NkqSisHbtWkqUKEGFChVif+y84447WLNmTaxPcnIyM2fOpHLlytSoUYMpU6Zw7bXXsnXrVqZPnx773AUFS1zttvvn8YoVK5gyZQq9e/f+r38eH8iYMWO45pprCCHstzTX7nr8QIE6ujk5OQVKPvz973/n888/B6BYsWJUrlwZgCpVqsRu+jZq1Ch++9vfMn369P3e9K1y5cq8/vrrVKtWjfnz53PRRRcVqK//yiuvxMqJ7emqq65i2LBhP7hmSdqTAa4k6bA41F8aAHbt2sXYsWOZNm1agbnuvvtuvvvuuwK7FE4++eTYDgiAVq1a8dBDD5H+8teHeWWKB7vLQext1KhR+x1z1113FVqT98EHH+TBBx/cp/2dd975cScpSdJRtL8/du5P37596dmzJw0bNiSKInr27Elqamrs+EsvvcTEiRMLjNm2bRtr165l27ZthBB48cUX+cMf/vBf/TzeLTk5mfnz5xdoGzhwYKw019KlS+nbt+8Plub6+OOP6dWrFytWrGDUqFEkJCTEdgvfc889TJ06lVq1ajFs2DBOPfVUQgiMHDmSIUOGkJOTQ/Xq1Q8YEjdp0iT2uEGDBuTk5LBt2zZKlSrF5s2bGTJkCM888wxdunTZ71ol6WBZQkGSTjA5OTmcddZZNG7cuEANsXvuuYfU1FTS0tL45S9/yapVq4C8G5D16NGDRo0akZKSQkZGxj5zFnZ5WN26dalatSo/+clPqF27duyGWQcybdo0kpKSqFmzZqwtOzubQYMGsXDhQpo2berlZpIkSQdhf7Xv95SVlRX7Q3q5cuUYO3YsCxYsYOHChfvcvHPZsmXUq1evQNvPfvYzsrOz2bJlC9988w0LFiw4bOs51NJcLVq0YMGCBXzyySdkZGSQk5NDbm4u2dnZnHvuucyePZtzzjmnQI3/G2+8kZNOOolvvvmGEMJB379h3LhxNGnSJFYv/5577uG2224rsBN4z76pqamkp6cXqAcsSQfiDlxJiiM5OTmcd955bNu2jdzcXNLT07nvvvu45557GD9+PMWKFSMxMZERI0ZQrVo1/vnPf/KXv/wlNn7u3LnMnj2btLQ07rrrLp577jnWr1/P5s2bY31KlSrFlClTmDRpEp07d2bcuHG0b9+e22+/nT/96U8APPbYY/zxj3/kqaeeYuzYsWzbto158+axdetW6tevz9VXX01ycjKw/8vDunXr9oOXh2VlZRV43qpVq1g9s92SkpIKvWPx3mJ10l4u+pIAOjYcq+UgJEk6nhzun8eHUpoLICUlhbJlyzJ//nyaNWtGmTJl6NSpEwCdO3fm2WefjfXdHRJ/++23JCYmxkLit956a7/ntmDBAu64445Yn8zMTJYuXcrQoUP3+azboUMHrr76akqVKsVTTz1Fjx49Cq2dK0l7M8CVpDiyO1wtV64cO3bsoGXLlgcMV7t160a3bt0AmDdvHpdddhlpaWlA3gfEm266iTp1CtaDDSEQRRGPPfYYzZs3Z9OmTYQQKF++fKzPli1bYpeMhRDYsmULubm5fP/995QsWTLW18vDJEmSjh1FHa4eqT90HmppruXLl3PaaaeRkJDAihUrWLRoEcnJyYQQ6NChA1OnTuWCCy5g8uTJ1K9fH4AlS5bEPjd/+OGHJCYm/mBInJ2dTadOnXjuueeoVasWAB999BGzZs0iOTmZ3Nxc1qxZQ6tWrZg6dSqVKlWKne/111/PHXfccUTeP0nHPgNcSYojIYTYbtY9b9Cwv3B1T3vfWOLss8/e7+vcddddZGdns2LFCq699lpatGgRa3/uuec4+eSTeffddwFIT09n/PjxVK1ala1btzJ06FAqVqwI/PDlYdOmTaNu3boMHTqU00477Zj9pUGSJElHz6HW8/3ggw8YPHgwJUqUoFixYjz55JOxUhEPPPAA3bt359Zbb6VKlSr84x//APJq4r///vuULl2a8uXLU7VqVZo0abLfkHjDhg1ccsklZGRkcO6558b69OnThz59+gB5V5tdeumlsSvFVq9eTdWqVQGYMGECKSkpRfo+STp+GeBKUpzZuXMnzZo1K3CDBig8XN3Tiy++yPjx439w/jlz5vDVV1+xbNkyWrZsyYIFC5g/fz4NGzZk0KBBDBo0iIyMDIYNG8Z9993HjBkzKF68OKtWrWL9+vX84he/4MILL2Tjxo1eHiZJkqTDbn83L93Tnp9Hu3fvTvfu3Qvtd/rpp+9zw1yA3/72t8ycOZOdO3fy7bff/mBIPGzYMJYuXcqf/vSn2JVyb731FomJifsd89hjjzFhwgQSEhKoWLEiI0aMOOCaJGk3b2ImSXFm7xs07L4L76BBg1i5cmWhtWU//vhjypQpU+BGYoXZtWsX/fr14+GHHwYgISGBZs2aMWnSpAL9rrnmGsaNGwfACy+8QLt27ShRogSJiYmce+65zJw5s8DlYS1btmTx4sW0atUKgEqVKsVu4nD99dcza9asH/2+SJIkSYfLod707e6772bLli1kZmbGvvYOb5OTk2Of5QEyMjJYsGABn376Ke++++4+N4WTpP1xB64kxandN2iYNGlSgWD2mmuu4ZJLLuG+++6LtY0ZM6ZA+YT92bRpE3PnzuW8886jWLFirF69mv/93//lgQceKFD3a8KECbEPlDVq1GDKlClce+21bN26lenTp3PrrbeSmprq5WGSJEk6KizNJelEYoArSXFkfzdo2F+4Cnm7aseOHVvopWB7O/nkk5k6dWqshtjatWu59tpr6devH1deeSWLFi2iWLFinH766Tz11FMA9O3bl549e9KwYUOiKKJnz56kpqYe8HW8PEySJEnHuqIOicGgWNJ/xwBXkuLI/m7QsL9wFWDatGkkJSVRs2bNAnMNGDCAF154ga1bt5KUlETv3r0ZOHBggRpirVq14vrrrweIlUzYW7ly5Rg7duwBz7uwy8MyMjL+q/dAkiRJkiT9HwNcSYoj+7tBw/7CVcgLYadPn75P+4MPPsiDDz54wNfbXfJAkiRJkiTFJwNcSZI1xCRJkiQdkpycHM477zy2bdtGbm4u6enp3Hfffdx+++28/vrrlCxZklq1avGPf/yDChUqkJWVRUpKCmeeeSYAZ599duzKwnbt2rF69Wpyc3P5xS9+wRNPPEHx4sUZMWIEt99+O9WrVwfgpptuAqoerSVLR40BriTFOcNVHWsO9cP8jBkzuOGGGwCIooiBAwfSqVMnYP8f5p966qnY43LlyvHMM88czSVLkiSdcEqVKsWUKVMoV64cO3bsoGXLlrRv3562bduSkZFBQkICd9xxBxkZGTzwwAMA1KpVi8zMzH3meumllyhfvjxRFJGens7YsWPp2rUrAFdddRXDhg2L9b3/MNQmluJdsaN9ApIk6fiy+8P8p59+SmZmJpMmTWL69Om0bduW+fPnM3fuXOrWrRurk9ywYUNmzpwZ6/ub3/yG3NxcIO/D/Keffsr8+fNZu3ZtrB7zNddcw7x588jMzGTAgAH87ne/O2rrlSRJOhGFEChXrhwAO3bsYMeOHYQQ+OUvf0lCQt5+wbPPPpvs7OwfnKt8+fIA5Obmsn37dkIIh+/EpWOQAa4kSSpSh/phvkyZMrH2nJycAh/Y9/dhfnc7wJYtW/yQL0mSdBTs3LmTtLQ0EhMTadu2LS1atChw/O9//zvt27ePPV++fDlNmjTh/PPP5/333y/Q96KLLiIxMZGTTjqJ9PT0WPu4ceNITU0lPT2dlStXHt4FSXHKAFeSJBW5Q/0w//HHH9OgQQMaNWrEU089FQt0Yf8f5p944glq1arFgAEDeOyxxw7/oiRJklRA8eLFyczMJDs7mxkzZjB//vzYsUGDBpGQkEC3bt0AqFq1Kl9++SVz5sxhyJAhXHPNNWzcuDHW/9///jerV69m27ZtTJkyBYAOHTqQlZXF3LlzufDCC+nRo8eRXaAUJwxwJUlSkTuUD/MALVq0YMGCBXzyySdkZGSQk5MTO1bYh3mAvn378sUXX/DAAw9w//33H5mFSZIkaR8VKlSgVatWTJo0CYCRI0fyr3/9i3/+85+xK6VKlSpFpUqVAGjWrBm1atVi8eLFBeYpXbo0HTt2ZPz48QBUqlSJUqVKAXD99dcza9asI7UkKa4Y4EqSpMPmYD7M7yklJYWyZcsWCHxh3w/ze+ratSuvvfbaYTl/SZKkY01OTg5nnXUWjRs3pkGDBtx7770AjB07lgYNGlCsWDFmzpxZYMzcuXM555xzYldE7f5j+ujRo2nUqBGpqam0a9eOdevWxcasXbuWkSNHEkLggw8+4J133qFevXpMmjSJBx54gAkTJlCmTJkC/Xfu3AnAsmXLWLJkCTVr1mTz5s2sXr0ayCubNXHiROrVqwcQaweYMGECKSkph+Edk+KfAa4kSSpSa9euZcOGDQB8//33P/hhfvny5bGblq1YsYJFixaRnJx8wA/zS5YsiY1/4403qFOnzhFanSRJUnzb3w1lGzZsyCuvvMJ5551XoH9ubi7XXnstTz31FAsWLGDq1KmUKFGC3NxcbrnlFt59913mzp1Lamoqw4YNi41bunQpffv25Sc/+Qk9evSgbdu2XHrppdx0001s2rSJtm3bkpaWxo033gjAtGnTSE1NpXHjxqSnp/PUU09RsWJFtmzZQseOHWPHEhMTY2Mee+wxGjRoQOPGjXnssccYMWLEEXsfpXiS8MNdJEmSDt7q1avp0aMHO3fuZNeuXXTp0oVLL72U2rVrs23bNtq2bQvk3cjsqaee4oMPPmDw4MGUKFGCYsWK8eSTT1K5cmW+/vprOnbsyLZt29i5cycXXHBB7MP8sGHDeOeddyhRogSnnHIKI0eO5JJRWUdx1ZIkSfFhfzeU3d/u1bfeeisWngKxMgc7duwgiiK2bNlCpUqV2LhxI7Vr146Ne/HFFxkzZgwPPfQQDz30EM2bNwfygt3CXHnllVx55ZX7tJ966ql88sknhY7JyMggIyNjr9Yv9r946ThlgCtJkopUamoqc+bM2ad9fx/mu3fvTvfu3fdpP9CH+UcffbSQ1qxDOU1JkvaRk5PDeeedx7Zt28jNzSU9PZ377ruPsWPHMnDgQD777DNmzJgRC6pmzJjBDTfcAEAURQwcOJBOnTqxdetWOnfuzBdffEHx4sXp0KEDgwcPBmDEiBHcfvvtVK9eHYCbbrqJ3r17H50F67i1c+dOmjVrFtslu/cNZfe0ePFiQghcdNFFrF27lq5duzJgwABKlCjB8OHDadSoEWXLlqVOnTo88cQTAMyZM4eVK1dy6aWX8tBDD8XmSr7zjSJdR9bgS4p0PulYZQkFSZIkSZI49EvPGzZsyMyZM2N9f/Ob38TKAvXv35/PP/+cOXPm8OGHH/Lmm2/Gxl111VVkZmaSmZlpeKvD4kA3lN1bbm4uH3zwAf/85z/54IMPePXVV5k8eTI7duxg+PDhzJkzh1WrVpGamkpGRga7du2iX79+PPzww0dwRdKJzR24kiTpsHM3hiTpWHCol57vWdM9JycndoPOMmXK0Lp1awBKlixJ06ZNyc7OPsxnL+1rzxvKNmzYsNA+SUlJnH/++VSuXBmAiy++mNmzZ1O+fHkAatWqBUCXLl0YPHgwmzZtYv78+bRq1QqA//znP3Ts2JEJEyYc/gVJJyh34EqSJEmSlG/nzp2kpaWRmJhI27ZtD3jpOcDHH39MgwYNaNSoEU899RQJCQX3SW3YsIHXX3+dNm3axNrGjRtHamoq6enprFy58rCsQyeu/d1Qdn8uuugi5s6dy9atW8nNzeW9996jfv36VK9enYULF7J27VoA3n77bVJSUjj55JNZt24dWVlZZGVlcfbZZzNhwoRYaRFJRc8AV5IkSZKkfIdy6TlAixYtWLBgAZ988gkZGRnk5OTEjuXm5nL11Vdz8803U7NmTQA6dOhAVlYWc+fO5cILL6RHjx6HdT068axevZrWrVuTmprKz372M9q2bcull17Kq6++SlJSEh999BGXXHIJF110EQCnnHIKv/vd7/jZz35GWloaTZs25ZJLLqFatWrce++9nHfeeaSmppKZmcn//M//HOXVSScmSyhIkiRJkrSXg7n0fE8pKSmULVuW+fPnx3Yi3nDDDdSpU4dbb7011q9SpUqxx9dffz133HFHkZ+7Tmz7u6Fsp06d6NSpU6Fjrr32Wq699tp92m+88UZuvPHGA77e1KlT/6vzlHTw3IErSZIkSRKHfun58uXLYzctW7FiBYsWLSI5ORmAu+++m++++45HHnlknzFnnXUWjRs35owzzuCkk04C4Ntvv6Vt27bUqVOHtm3bsn79egCysrL4yU9+QlpaGmlpaQXCtLvuuovTTjstVrd3t23btnHVVVdRu3ZtWrRoQVZW1o94VyRJR5s7cCVJkiRJIu/S8x49erBz50527dpFly5dYpee//a3v2Xt2rVccsklpKWl8e9//5sPPviAwYMHU6JECYoVK8aTTz5J5cqVyc7OZtCgQdSrV4+mTZsCcNNNN9G7d2+efvppNm3aRMmSJTnjjDPYsGED06dP55VXXqFNmzbceeedDB48mMGDB/PAAw8AeTeRyszM3Od8O3TowE033USdOnUKtD/77LOccsopLF26lDFjxnDHHXfw4osvHvb3T/GrqG8oC95UVjqSDHAlSZIkSeLQLz3v3r073bt336c9KSmJKIoKfY3d4SzA1q1badmyJSEExo8fH7sUvUePHrRq1SoW4O7P2WefXWj7+PHjGThwIADp6encdNNN+z0fSVL8M8CVJEmSJGk/inrnYtbgS9i5cyfNmjVj6dKl9O3blxYtWvD1119TtWpVAKpWrcqaNWtiY5YvX06TJk0oX748999/P7/4xS8O+BpfffUVp512GgAJCQmcfPLJfPPNN0W6DknSkWOAK0mSJEnSEVS8eHEyMzPZsGEDnTp1Yv78+fvtW7VqVb788ksqVarErFmzuPzyy1mwYAHly5ff75jCdtuGEIrk3CVJR543MZMkSZIk6SioUKECrVq1YtKkSZx66qmsXr0ayKvFm5iYCECpUqWoVKkSAM2aNaNWrVosXrz4gPMmJSWxcuVKAHJzc/nuu++oWLHiYVyJJOlwMsCVJEmSJOkIWbt2LRs2bADg+++/55133qFevXp07NiRkSNHAjBy5Eguu+yyWP+dO3cCsGzZMpYsWULNmjUP+Bp7zvXyyy9zwQUXuANXko5hllCQJEmSJOkIWb16NT169GDnzp3s2rWLLl26cOmll3LOOefQpUsXnn32WWrUqMHYsWMBmDZtGn/4wx9ISEigePHiPPXUU7HdtAMGDOCFF15g69atJCUl0bt3bwYOHMh1111H9+7dqV27NhUrVmTMmDFHc8mSpB/JAFeSJEmSpCMkNTWVOXPm7NNeqVIlJk+evE/7lVdeyZVXXlnoXA8++CAPPvjgPu2lS5eOBcCSpGPfDwa4IYTSwDSgVH7/l6MoujeEUBF4EUgGsoAuURStzx/ze+A6YCdwcxRF/85vbwaMAH4CTARuiaIoCiGUAp4DmgHfAFdFUZRVZKuUJEmSJClOJd/5RpHPmTX4kiKfU5J0dBxMDdxtwAVRFDUG0oB2IYSzgTuByVEU1QEm5z8nhFAf6Ao0ANoBT4YQiufPNRy4AaiT/9Uuv/06YH0URbWBocADP35pkiRJkiRJknRs+8EAN8qzOf9pifyvCLgMGJnfPhK4PP/xZcCYKIq2RVG0HFgKnBVCqAqUj6LooyiKIvJ23O45ZvdcLwNtghXWJUmSJEmSJJ3gDmYHLiGE4iGETGAN8HYURR8Dp0ZRtBog/3tifvfqwMo9hmfnt1XPf7x3e4ExURTlAt8Blf6L9UiSJEmSJEnSceOgAtwoinZGUZQGJJG3m7bhAboXtnM2OkD7gcYUnDiEG0IIM0MIM9euXfsDZy1JkiRJkiRJx7aDCnB3i6JoAzCVvNq1X+eXRSD/+5r8btnAaXsMSwJW5bcnFdJeYEwIIQE4Gfi2kNd/Joqi5lEUNa9SpcqhnLokSZIkSZIkHXN+MMANIVQJIVTIf/wT4ELgc2AC0CO/Ww9gfP7jCUDXEEKpEMIZ5N2sbEZ+mYVNIYSz8+vb/mqvMbvnSgem5NfJlSRJkiRJkqQTVsJB9KkKjAwhFCcv8H0piqJ/hRA+Al4KIVwHfAl0BoiiaEEI4SVgIZAL9I2iaGf+XH2AEcBPgDfzvwCeBUaFEJaSt/O2a1EsTpIkSZIkSZKOZT8Y4EZRNBdoUkj7N0Cb/YwZBAwqpH0msE/93CiKcsgPgCVJkiRJkiRJeQ6pBq4knahWrlxJ69atSUlJoUGDBjz66KMAXHXVVaSlpZGWlkZycjJpaWkAbN++nZ49e9KoUSMaN27M1KlTY3O9+OKLpKam0qBBAwYMGBBrX7FiBW3atCE1NZVWrVqRnZ19JJcoSZIkSZLi0MGUUJCkE15CQgIPP/wwTZs2ZdOmTTRr1oy2bdvy4osvxvrcdtttnHzyyQD89a9/BWDevHmsWbOG9u3b88knn7B+/Xpuv/12Zs2aRZUqVejRoweTJ0+mTZs29O/fn1/96lf06NGDKVOm8Pvf/55Ro0YdlfVKkiRJkqT44A5cSToIVatWpWnTpgCcdNJJpKSk8NVXX8WOR1HESy+9xNVXXw3AwoULadMmr8pMYmIiFSpUYObMmSxbtoy6detSpUoVAC688ELGjRu3z5jWrVszfvx4JEmSJEnSic0AN04d6uXaWVlZ/OQnP4kdu/HGG2NzjR49mkaNGpGamkq7du1Yt24dAF9++SWtW7emSZMmpKamMnHixCO+TulYlJWVxZw5c2jRokWs7f333+fUU0+lTp06ADRu3Jjx48eTm5vL8uXLmTVrFitXrqR27dp8/vnnZGVlkZuby2uvvcbKlStjY3aHua+++iqbNm3im2++OfILlCRJkiRJccMAN07tvlz7s88+Y/r06TzxxBMsXLiQF198kczMTDIzM7nyyiu54oorYmNq1aoVO/bUU08BkJubyy233MK7777L3LlzSU1NZdiwYQDcf//9dOnShTlz5jBmzBj+3//7f0dlrdKxZPPmzVx55ZU88sgjlC9fPtY+evTo2O5bgF69epGUlETz5s259dZb+fnPf05CQgKnnHIKw4cP56qrruIXv/gFycnJJCTkVbN56KGHeO+992jSpAnvvfce1atXjx2TJEk6kR3qBpfdvvzyS8qVK8dDDz0Ua2vXrh2NGzemQYMG3HjjjezcuROAp556ikaNGpGWlkbLli1ZuHDhEVufJEkHYjIQp6pWrUrVqlWBgpdr169fH/i/y7WnTJlywHmiKCKKIrZs2UKlSpXYuHEjtWvXBiCEwMaNGwH47rvvqFat2mFckXTs27FjB1deeSXdunUr8MeT3NxcXnnlFWbNmhVrS0hIYOjQobHnP//5z2O7czt06ECHDh0AeOaZZyhevDgA1apV45VXXgHyguJx48bFaupKkiSdyA71fgS79evXj/bt2xdoe+mllyhfvjxRFJGens7YsWPp2rUr11xzTexKxgkTJvC73/2OSZMmHf7FSZL0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7bbbaNSoUT02kyRJ2nPl5eXMmzev2thHLZmwevXqGsePOeYYlixZkstdi5bnlZIkqT65hIIK2lNPPcWCBQuyb1J69+7NkiVLWLRoEUceeSQjR44EYNmyZTz44IMsXbqUadOm8W//9m9s27YNgIkTJ7Jw4UKWLFnChg0bmDRpUr31kSRJUv3wvFKSJNUXr8BVg3LGGWdkPz7uuON46KGHAJg8eTIXXHABe++9N4cddhhHHHEEc+fO5fjjj6d58+ZA1V9t3rp1q39hWZIk5b12w5/I+TZXj+qX823GzPNKSZKUFq/AVcEKIXDGGWfQs2dPfve73+1y/913351dq+21117jkEMOyd5XWlrKa6+9lv28T58+lJSU0KxZMwYOHFj3Oy9JkqRoeF4pSZLqkxO4KljPPPMM8+fP509/+hO33XYbc+bMyd43YsQIiouLueiiiwBIkmSX5+94RcT06dOpqKhgy5YtzJo1q+53XpIkSdHwvFKSJNUnJ3BVsA4++GAASkpKGDBgAHPnzgVg3LhxPP744zzwwAPZk+nS0lLWrFmTfe7atWuzz9+uSZMm9O/fn8mTJ6fUQJIkSTHwvFKSJNUnJ3BVkDZv3sw777yT/fjJJ5+ka9euTJs2jdGjRzNlyhSaNm2afXz//v158MEH2bJlC6tWrWLlypV8/vOf591336WiogKoWqts6tSpdOrUqV46SZIkKX2eV0qSpPrmHzFTQVq3bh0DBgwAqk6QBw0aRN++fTniiCPYsmULvXv3Bqr+4MQdd9xBly5dOO+88ygrK6O4uJjbbruNRo0asXnzZvr378+WLVvYtm0bp59+OkOGDEm9z7Zt2zjmmGNo06YNjz/+OMOGDeOPf/wje+21F+3bt+eee+5h//33B2DRokV861vfYtOmTRQVFfH888/TpEkTJkyYwE9/+lNCCBx88MHcf//9HHjggal3kSRJDccnPYdZvXo1nTt3pmPHjsD/naMB9O3bl4qKCiorKznppJOy52lpKbTzSkmSlH+cwFVBOvzww1m4cOEu4y+//HKtz7n++uu5/vrrq421atWK559/Puf7t7t++ctf0rlzZzZt2gRA7969GTlyJMXFxXz/+99n5MiRjB49msrKSr72ta8xfvx4evTowZtvvknjxo2prKzk6quvZtmyZRx44IFcd911jB07lhtvvLF+i0mSpIL2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\n",
      "text/plain": [
       "<Figure size 1728x720 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig, ax = plt.subplots(figsize=(24,10))\n",
    "plt.bar(df_user_date_count['time'],df_user_date_count['count'])\n",
    "for a,b in zip(df_user_date_count['time'],df_user_date_count['count']):\n",
    "    #print(a,b)\n",
    "    plt.text(a, b+0.05, '%.0f' % b, ha='center', va= 'bottom',fontsize=10)\n",
    "plt.xticks(rotation=90)\n",
    "plt.title(\"behivaor count of p by date\")\n",
    "plt.legend()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "从上图可以看出基于小时的总操作数很平稳，下面基于各种操作数的平稳性就行评估"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-10-07T05:51:05.938972Z",
     "start_time": "2020-10-07T05:51:05.315937Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "time           behavior_type\n",
       "2014-12-17 00  1                26086\n",
       "               2                  636\n",
       "               3                  688\n",
       "               4                  178\n",
       "2014-12-17 01  1                12648\n",
       "                                ...  \n",
       "2014-12-18 22  4                  522\n",
       "2014-12-18 23  1                42584\n",
       "               2                  857\n",
       "               3                 1248\n",
       "               4                  277\n",
       "Length: 192, dtype: int64"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "tmp = df_user_date.groupby(['time','behavior_type']).size()\n",
    "tmp"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-10-07T05:59:30.980859Z",
     "start_time": "2020-10-07T05:59:30.932856Z"
    },
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>time</th>\n",
       "      <th>behavior_type</th>\n",
       "      <th>count</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>2014-12-17 00</td>\n",
       "      <td>1</td>\n",
       "      <td>26086</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2014-12-17 00</td>\n",
       "      <td>2</td>\n",
       "      <td>636</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>2014-12-17 00</td>\n",
       "      <td>3</td>\n",
       "      <td>688</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2014-12-17 00</td>\n",
       "      <td>4</td>\n",
       "      <td>178</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>2014-12-17 01</td>\n",
       "      <td>1</td>\n",
       "      <td>12648</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>187</th>\n",
       "      <td>2014-12-18 22</td>\n",
       "      <td>4</td>\n",
       "      <td>522</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>188</th>\n",
       "      <td>2014-12-18 23</td>\n",
       "      <td>1</td>\n",
       "      <td>42584</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>189</th>\n",
       "      <td>2014-12-18 23</td>\n",
       "      <td>2</td>\n",
       "      <td>857</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>190</th>\n",
       "      <td>2014-12-18 23</td>\n",
       "      <td>3</td>\n",
       "      <td>1248</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>191</th>\n",
       "      <td>2014-12-18 23</td>\n",
       "      <td>4</td>\n",
       "      <td>277</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>192 rows × 3 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "              time  behavior_type  count\n",
       "0    2014-12-17 00              1  26086\n",
       "1    2014-12-17 00              2    636\n",
       "2    2014-12-17 00              3    688\n",
       "3    2014-12-17 00              4    178\n",
       "4    2014-12-17 01              1  12648\n",
       "..             ...            ...    ...\n",
       "187  2014-12-18 22              4    522\n",
       "188  2014-12-18 23              1  42584\n",
       "189  2014-12-18 23              2    857\n",
       "190  2014-12-18 23              3   1248\n",
       "191  2014-12-18 23              4    277\n",
       "\n",
       "[192 rows x 3 columns]"
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_time_beh_count = pd.DataFrame(tmp.reset_index())\n",
    "df_time_beh_count.columns = ['time','behavior_type','count']\n",
    "df_time_beh_count"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-10-07T06:35:57.445755Z",
     "start_time": "2020-10-07T06:35:57.433755Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "range(0, 48)"
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x = range(df_time_beh_count['time'].unique().shape[0])\n",
    "x"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-10-07T06:57:47.303649Z",
     "start_time": "2020-10-07T06:57:43.998460Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.legend.Legend at 0xb739b160>"
      ]
     },
     "execution_count": 51,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABXAAAAJ/CAYAAADRfvv1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjMuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/d3fzzAAAACXBIWXMAAAsTAAALEwEAmpwYAABB5UlEQVR4nO3df5Std10f+vcnOZggDL9CglkJmrQw8utKhBSwsiyYUrGl4g+w0VpipebWi9669LZX611VVy/XH3f5A7qKXVyxRvwBKa01V0WLpNheasFIUAgxhyxBcgQhBpChNZiE7/1jnlNnDnPOmXPOnmd/9p7Xa629zp5n7/28n/fM2Xue+cwzz64xRgAAAAAA6Oe8ZW8AAAAAAAB7M8AFAAAAAGjKABcAAAAAoCkDXAAAAACApgxwAQAAAACaMsAFAAAAAGjqyLI34Gw9+tGPHldcccWyNwMAAAAA4Jz8zu/8zp+MMS7e67aVHeBeccUVueWWW5a9GQAAAAAA56Sq/vBktzmFAgAAAABAUwa4AAAAAABNGeACAAAAADS1sufABQAAAAA47r777suxY8dy7733LntTTurCCy/M5Zdfngc96EH7fowBLgAAAACw8o4dO5aNjY1cccUVqaplb85nGGPknnvuybFjx3LllVfu+3FOoQAAAAAArLx77703F110UcvhbZJUVS666KIzPkLYABcAAAAAWAtdh7fHnc32GeACAAAAACzAN33TN+WSSy7JU57ylIWt0zlwAQAAAID1s7WVLPKI3DGSjY1T3uUbv/Eb863f+q15yUtesrBYA1wAAAAAYP1UJZubi1vf0aOnvcuXfMmX5P3vf//iMuMUCgAAAAAAbRngAgAAAAA0ZYALAAAAANCUAS4AAAAAQFMGuAAAAAAAC/B1X/d1+aIv+qLccccdufzyy/Oa17zmnNd5ZAHbBQAAAADQyxjJ0aOLXd9p/MIv/MLi8iYGuAAAAADA+tnYWPYWLIRTKAAAAAAANGWACwAAAADQlAEuAAAAAEBTBrgAAAAAAE0Z4AIAAAAANGWACwAAAACwAHfddVee+9zn5olPfGKe/OQn5xWveMU5r/PIArYLAAAAAKCVrU9tpaoWtr4xRjYu2DjlfY4cOZIf+ZEfydOe9rRsbW3l6U9/ep73vOflSU960lnnGuACABxWW1vJiTu0YyQbp94pBQCAVVBV2fwXmwtb39FvO3ra+1x66aW59NJLkyQbGxt54hOfmD/6oz8ywAUA4CxUJZsn7NAePf1OKQAAcHrvf//7c+utt+aZz3zmOa3HOXABAAAAABbok5/8ZL7ma74mP/7jP56HPexh57QuA1wAAAAAgAW577778jVf8zX5u3/37+arv/qrz3l9BrgAAAAAAAswxshLX/rSPPGJT8x3fMd3LGSdBrgAAAAAAAvw1re+Na997Wtz880356qrrspVV12VX/3VXz2ndXoTMwAAAABg7YwxcvTbFvcmvWOM097n2c9+9r7udyYMcAEAAACAtbNxwcayN2EhnEIBAAAAAKApA1wAAAAAgKYMcAEAAAAAmjLABQAAAABoygAXAAAAAKApA1wAAAAAgAW4995784xnPCNPfepT8+QnPznf+73fe87rPLKA7QIAAAAAaGVrK6la3PrGSDY2Tn2fCy64IDfffHMe+tCH5r777suzn/3sfPmXf3me9axnnXWuAS4AAAAAsHaqks3Nxa3v6NH9ZFYe+tCHJknuu+++3HfffalznCI7hQIAAAAAwII88MADueqqq3LJJZfkec97Xp75zGee0/oMcAEAAAAAFuT888/PO9/5zhw7dixvf/vb8+53v/uc1meACwAAAACwYI94xCPynOc8J7/2a792TusxwAUAAAAAWIC77747H//4x5Mkf/Znf5bf+I3fyBOe8IRzWqc3MQMAAAAAWIAPfehDue666/LAAw/k05/+dL72a782L3jBC85pnQa4AAAAADC3ra2kaveyMZKNjeVszxoaIzl6dLHrO50v+IIvyK233rq40BjgAgAAAMD8qpLNzd3LFjltZG1m4c6BCwAAAADQlAEuAAAAAEBTBrgAAAAAAE0Z4AIAAAAANGWACwAAAADQlAEuAAAAAMCCPPDAA/nCL/zCvOAFL1jI+o4sZC0AAAAAAI1sbW2lqha2vjFGNjY2Tnu/V7ziFXniE5+YT3ziEwvJNcAFAAAAANZOVWVzc3Nh6zt69Ohp73Ps2LH8yq/8Sr7ne74nP/qjP7qQXKdQAAAAAABYgG//9m/PD//wD+e88xY3djXABQAAAAA4R7/8y7+cSy65JE9/+tMXul4DXAAAAACAc/TWt741N910U6644opce+21ufnmm/MN3/AN57xeA1wAAAAAgHP0Az/wAzl27Fje//73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\n",
      "text/plain": [
       "<Figure size 1728x720 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "df_time_beh_1 = df_time_beh_count[df_time_beh_count['behavior_type']==1]\n",
    "df_time_beh_2 = df_time_beh_count[df_time_beh_count['behavior_type']==2]\n",
    "df_time_beh_3 = df_time_beh_count[df_time_beh_count['behavior_type']==3]\n",
    "df_time_beh_4 = df_time_beh_count[df_time_beh_count['behavior_type']==4]\n",
    "\n",
    "fig, ax = plt.subplots(figsize=(24,10))\n",
    "plt.bar([i+0.2 for i in x], df_time_beh_1['count'], alpha=0.9, width = 0.2, facecolor = 'red', edgecolor = 'white', label='1')\n",
    "plt.bar([i+0.4 for i in x], df_time_beh_2['count'], alpha=0.9, width = 0.2, facecolor = 'green', edgecolor = 'white', label='2')\n",
    "plt.bar([i+0.6 for i in x], df_time_beh_3['count'], alpha=0.9, width = 0.2, facecolor = 'blue', edgecolor = 'white', label='3')\n",
    "plt.bar([i+0.8 for i in x], df_time_beh_4['count'], alpha=0.9, width = 0.2, facecolor = 'black', edgecolor = 'white', label='4')\n",
    "\n",
    "# for a,b in zip(df_user_date_count['time'],df_user_date_count['count']):\n",
    "#     #print(a,b)\n",
    "#     plt.text(a, b+0.05, '%.0f' % b, ha='center', va= 'bottom',fontsize=10)\n",
    "plt.xticks([i+0.4 for i in x],df_time_beh_count['time'].unique().tolist(),rotation=90)\n",
    "plt.legend()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-10-07T06:46:22.535509Z",
     "start_time": "2020-10-07T06:46:22.521508Z"
    }
   },
   "source": [
    "可见两天的变化趋势基本一致，并且可以看出一些符合实际的规律，比如每天记录的高峰期在晚上（人们较空闲），比如凌晨记录相对较少（都睡觉了），比如点击浏览(behavior_type=1）比其他三种多得多等等。我们进一步查看购买(behavior_type=4）的统计"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-10-07T06:59:21.052011Z",
     "start_time": "2020-10-07T06:59:18.637873Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1728x720 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "df_time_beh_4 = df_time_beh_count[df_time_beh_count['behavior_type']==4]\n",
    "fig, ax = plt.subplots(figsize=(24,10))\n",
    "plt.bar(df_time_beh_4['time'], df_time_beh_4['count'], alpha=0.9, width = 0.4, facecolor = 'black', edgecolor = 'white', label='4')\n",
    "plt.xticks(rotation=90)\n",
    "plt.legend()\n",
    "plt.grid() \n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "可看到每天购买操作的变化趋势大体相同，同其他类型操作一致"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "4.4 微观行为统计  \n",
    "  数据D"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-10-07T07:13:40.510146Z",
     "start_time": "2020-10-07T07:13:35.726872Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "user_id    behavior_type\n",
       "492        1                255\n",
       "           3                  7\n",
       "           4                  5\n",
       "3726       1                388\n",
       "           2                  1\n",
       "                           ... \n",
       "142440276  3                  4\n",
       "142442955  1                359\n",
       "           2                  3\n",
       "           3                 21\n",
       "           4                  9\n",
       "Length: 68056, dtype: int64"
      ]
     },
     "execution_count": 59,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "user_stat = df_user.groupby(['user_id','behavior_type']).size()\n",
    "user_stat"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-10-07T07:18:18.221030Z",
     "start_time": "2020-10-07T07:18:18.118024Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>behavior_type</th>\n",
       "      <th>user_id</th>\n",
       "      <th>1</th>\n",
       "      <th>2</th>\n",
       "      <th>3</th>\n",
       "      <th>4</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>492</td>\n",
       "      <td>255.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>7.0</td>\n",
       "      <td>5.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>3726</td>\n",
       "      <td>388.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>4.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>19137</td>\n",
       "      <td>55.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>36465</td>\n",
       "      <td>64.0</td>\n",
       "      <td>2.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>37101</td>\n",
       "      <td>714.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>25.0</td>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19995</th>\n",
       "      <td>142427508</td>\n",
       "      <td>474.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>33.0</td>\n",
       "      <td>9.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19996</th>\n",
       "      <td>142432272</td>\n",
       "      <td>785.0</td>\n",
       "      <td>13.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>3.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19997</th>\n",
       "      <td>142439559</td>\n",
       "      <td>45.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19998</th>\n",
       "      <td>142440276</td>\n",
       "      <td>89.0</td>\n",
       "      <td>NaN</td>\n",
       "      <td>4.0</td>\n",
       "      <td>NaN</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19999</th>\n",
       "      <td>142442955</td>\n",
       "      <td>359.0</td>\n",
       "      <td>3.0</td>\n",
       "      <td>21.0</td>\n",
       "      <td>9.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>20000 rows × 5 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "behavior_type    user_id      1     2     3    4\n",
       "0                    492  255.0   NaN   7.0  5.0\n",
       "1                   3726  388.0   1.0   2.0  4.0\n",
       "2                  19137   55.0   NaN   1.0  NaN\n",
       "3                  36465   64.0   2.0   NaN  1.0\n",
       "4                  37101  714.0   1.0  25.0  3.0\n",
       "...                  ...    ...   ...   ...  ...\n",
       "19995          142427508  474.0   NaN  33.0  9.0\n",
       "19996          142432272  785.0  13.0   1.0  3.0\n",
       "19997          142439559   45.0   NaN   NaN  NaN\n",
       "19998          142440276   89.0   NaN   4.0  NaN\n",
       "19999          142442955  359.0   3.0  21.0  9.0\n",
       "\n",
       "[20000 rows x 5 columns]"
      ]
     },
     "execution_count": 66,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_user_stat = user_stat.unstack()\n",
    "df_user_stat.reset_index()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-10-07T07:25:06.408377Z",
     "start_time": "2020-10-07T07:25:06.397376Z"
    }
   },
   "outputs": [],
   "source": [
    "df_user_stat.columns=['browse','collect','add shopping cart','purchase']\n",
    "df_user_stat.reset_index(inplace=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 86,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-10-07T07:34:29.011541Z",
     "start_time": "2020-10-07T07:34:28.948537Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>user_id</th>\n",
       "      <th>browse</th>\n",
       "      <th>collect</th>\n",
       "      <th>add shopping cart</th>\n",
       "      <th>purchase</th>\n",
       "      <th>ctr</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>492</td>\n",
       "      <td>255</td>\n",
       "      <td>0</td>\n",
       "      <td>7</td>\n",
       "      <td>5</td>\n",
       "      <td>0.019608</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>3726</td>\n",
       "      <td>388</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>4</td>\n",
       "      <td>0.010309</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>19137</td>\n",
       "      <td>55</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>36465</td>\n",
       "      <td>64</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.015625</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>37101</td>\n",
       "      <td>714</td>\n",
       "      <td>1</td>\n",
       "      <td>25</td>\n",
       "      <td>3</td>\n",
       "      <td>0.004202</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19995</th>\n",
       "      <td>142427508</td>\n",
       "      <td>474</td>\n",
       "      <td>0</td>\n",
       "      <td>33</td>\n",
       "      <td>9</td>\n",
       "      <td>0.018987</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19996</th>\n",
       "      <td>142432272</td>\n",
       "      <td>785</td>\n",
       "      <td>13</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>0.003822</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19997</th>\n",
       "      <td>142439559</td>\n",
       "      <td>45</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19998</th>\n",
       "      <td>142440276</td>\n",
       "      <td>89</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19999</th>\n",
       "      <td>142442955</td>\n",
       "      <td>359</td>\n",
       "      <td>3</td>\n",
       "      <td>21</td>\n",
       "      <td>9</td>\n",
       "      <td>0.025070</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>20000 rows × 6 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "         user_id  browse  collect  add shopping cart  purchase       ctr\n",
       "0            492     255        0                  7         5  0.019608\n",
       "1           3726     388        1                  2         4  0.010309\n",
       "2          19137      55        0                  1         0  0.000000\n",
       "3          36465      64        2                  0         1  0.015625\n",
       "4          37101     714        1                 25         3  0.004202\n",
       "...          ...     ...      ...                ...       ...       ...\n",
       "19995  142427508     474        0                 33         9  0.018987\n",
       "19996  142432272     785       13                  1         3  0.003822\n",
       "19997  142439559      45        0                  0         0  0.000000\n",
       "19998  142440276      89        0                  4         0  0.000000\n",
       "19999  142442955     359        3                 21         9  0.025070\n",
       "\n",
       "[20000 rows x 6 columns]"
      ]
     },
     "execution_count": 86,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#缺失值填为0\n",
    "df_user_stat.fillna(0,inplace=True)\n",
    "#float变为int\n",
    "df_user_stat['browse'] = df_user_stat['browse'].astype('int64')\n",
    "df_user_stat['collect'] = df_user_stat['collect'].astype('int64')\n",
    "df_user_stat['add shopping cart'] = df_user_stat['add shopping cart'].astype('int64')\n",
    "df_user_stat['purchase'] = df_user_stat['purchase'].astype('int64')\n",
    "df_user_stat['ctr'] = df_user_stat['purchase'] / df_user_stat['browse']\n",
    "df_user_stat"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 88,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-10-07T07:36:56.508775Z",
     "start_time": "2020-10-07T07:36:56.450771Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>user_id</th>\n",
       "      <th>browse</th>\n",
       "      <th>collect</th>\n",
       "      <th>add shopping cart</th>\n",
       "      <th>purchase</th>\n",
       "      <th>ctr</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>682</th>\n",
       "      <td>3805744</td>\n",
       "      <td>27</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>15</td>\n",
       "      <td>0.555556</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>761</th>\n",
       "      <td>4294925</td>\n",
       "      <td>68</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>15</td>\n",
       "      <td>0.220588</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1056</th>\n",
       "      <td>5736734</td>\n",
       "      <td>17</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>0.294118</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2240</th>\n",
       "      <td>15267034</td>\n",
       "      <td>24</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>7</td>\n",
       "      <td>0.291667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2266</th>\n",
       "      <td>15333541</td>\n",
       "      <td>17</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0.117647</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2796</th>\n",
       "      <td>18031414</td>\n",
       "      <td>16</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0.125000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2831</th>\n",
       "      <td>18247777</td>\n",
       "      <td>12</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0.166667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3585</th>\n",
       "      <td>22199379</td>\n",
       "      <td>11</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0.181818</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3819</th>\n",
       "      <td>23363791</td>\n",
       "      <td>429</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>86</td>\n",
       "      <td>0.200466</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5153</th>\n",
       "      <td>30416097</td>\n",
       "      <td>16</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>0.187500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5361</th>\n",
       "      <td>31467616</td>\n",
       "      <td>9</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.111111</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5428</th>\n",
       "      <td>31818142</td>\n",
       "      <td>68</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>10</td>\n",
       "      <td>0.147059</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5750</th>\n",
       "      <td>33624988</td>\n",
       "      <td>27</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>7</td>\n",
       "      <td>0.259259</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6695</th>\n",
       "      <td>38488472</td>\n",
       "      <td>58</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>10</td>\n",
       "      <td>0.172414</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7031</th>\n",
       "      <td>40440205</td>\n",
       "      <td>44</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>0.113636</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7662</th>\n",
       "      <td>43653989</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.250000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8090</th>\n",
       "      <td>45988286</td>\n",
       "      <td>10</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>19</td>\n",
       "      <td>1.900000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9395</th>\n",
       "      <td>52744556</td>\n",
       "      <td>79</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>10</td>\n",
       "      <td>0.126582</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9871</th>\n",
       "      <td>55258547</td>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.333333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>10830</th>\n",
       "      <td>60285653</td>\n",
       "      <td>21</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>0.238095</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11834</th>\n",
       "      <td>100226572</td>\n",
       "      <td>58</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>14</td>\n",
       "      <td>0.241379</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11863</th>\n",
       "      <td>100396069</td>\n",
       "      <td>8</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0.250000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12843</th>\n",
       "      <td>105503936</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>12</td>\n",
       "      <td>inf</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13643</th>\n",
       "      <td>109729722</td>\n",
       "      <td>13</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>0.384615</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14023</th>\n",
       "      <td>111508060</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14070</th>\n",
       "      <td>111730132</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.200000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>15825</th>\n",
       "      <td>120884749</td>\n",
       "      <td>8</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.125000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16204</th>\n",
       "      <td>122930057</td>\n",
       "      <td>42</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>0.142857</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16257</th>\n",
       "      <td>123183428</td>\n",
       "      <td>8</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0.250000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16408</th>\n",
       "      <td>123983936</td>\n",
       "      <td>38</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>0.105263</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16972</th>\n",
       "      <td>127072731</td>\n",
       "      <td>15</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>0.133333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17058</th>\n",
       "      <td>127411359</td>\n",
       "      <td>7</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.142857</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17957</th>\n",
       "      <td>131936504</td>\n",
       "      <td>461</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>51</td>\n",
       "      <td>0.110629</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18343</th>\n",
       "      <td>133905183</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18458</th>\n",
       "      <td>134484330</td>\n",
       "      <td>33</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>7</td>\n",
       "      <td>0.212121</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18499</th>\n",
       "      <td>134680491</td>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>0.666667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18877</th>\n",
       "      <td>136539456</td>\n",
       "      <td>29</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>0.103448</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19028</th>\n",
       "      <td>137358666</td>\n",
       "      <td>197</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>23</td>\n",
       "      <td>0.116751</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19070</th>\n",
       "      <td>137572734</td>\n",
       "      <td>27</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>0.222222</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19080</th>\n",
       "      <td>137612418</td>\n",
       "      <td>8</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0.125000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19840</th>\n",
       "      <td>141701699</td>\n",
       "      <td>23</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>12</td>\n",
       "      <td>0.521739</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         user_id  browse  collect  add shopping cart  purchase       ctr\n",
       "682      3805744      27        0                  0        15  0.555556\n",
       "761      4294925      68        0                  0        15  0.220588\n",
       "1056     5736734      17        0                  0         5  0.294118\n",
       "2240    15267034      24        0                  0         7  0.291667\n",
       "2266    15333541      17        0                  0         2  0.117647\n",
       "2796    18031414      16        0                  0         2  0.125000\n",
       "2831    18247777      12        0                  0         2  0.166667\n",
       "3585    22199379      11        0                  0         2  0.181818\n",
       "3819    23363791     429        0                  0        86  0.200466\n",
       "5153    30416097      16        0                  0         3  0.187500\n",
       "5361    31467616       9        0                  0         1  0.111111\n",
       "5428    31818142      68        0                  0        10  0.147059\n",
       "5750    33624988      27        0                  0         7  0.259259\n",
       "6695    38488472      58        0                  0        10  0.172414\n",
       "7031    40440205      44        0                  0         5  0.113636\n",
       "7662    43653989       4        0                  0         1  0.250000\n",
       "8090    45988286      10        0                  0        19  1.900000\n",
       "9395    52744556      79        0                  0        10  0.126582\n",
       "9871    55258547       3        0                  0         1  0.333333\n",
       "10830   60285653      21        0                  0         5  0.238095\n",
       "11834  100226572      58        0                  0        14  0.241379\n",
       "11863  100396069       8        0                  0         2  0.250000\n",
       "12843  105503936       0        0                  0        12       inf\n",
       "13643  109729722      13        0                  0         5  0.384615\n",
       "14023  111508060       2        0                  0         2  1.000000\n",
       "14070  111730132       5        0                  0         1  0.200000\n",
       "15825  120884749       8        0                  0         1  0.125000\n",
       "16204  122930057      42        0                  0         6  0.142857\n",
       "16257  123183428       8        0                  0         2  0.250000\n",
       "16408  123983936      38        0                  0         4  0.105263\n",
       "16972  127072731      15        0                  0         2  0.133333\n",
       "17058  127411359       7        0                  0         1  0.142857\n",
       "17957  131936504     461        0                  0        51  0.110629\n",
       "18343  133905183       1        0                  0         1  1.000000\n",
       "18458  134484330      33        0                  0         7  0.212121\n",
       "18499  134680491       6        0                  0         4  0.666667\n",
       "18877  136539456      29        0                  0         3  0.103448\n",
       "19028  137358666     197        0                  0        23  0.116751\n",
       "19070  137572734      27        0                  0         6  0.222222\n",
       "19080  137612418       8        0                  0         1  0.125000\n",
       "19840  141701699      23        0                  0        12  0.521739"
      ]
     },
     "execution_count": 88,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t = df_user_stat[(df_user_stat['collect'] == 0) & (df_user_stat['add shopping cart']==0) & (df_user_stat['ctr']>0.1)]\n",
    "t"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "从上表中可以看出这些用户的CTR（操作购买转化率）高，且没有收藏和加购物车的习惯，看来很果断"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 90,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-10-07T07:40:02.054387Z",
     "start_time": "2020-10-07T07:40:02.011385Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>user_id</th>\n",
       "      <th>browse</th>\n",
       "      <th>collect</th>\n",
       "      <th>add shopping cart</th>\n",
       "      <th>purchase</th>\n",
       "      <th>ctr</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>678</th>\n",
       "      <td>3788803</td>\n",
       "      <td>6563</td>\n",
       "      <td>136</td>\n",
       "      <td>294</td>\n",
       "      <td>123</td>\n",
       "      <td>0.018741</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>781</th>\n",
       "      <td>4406018</td>\n",
       "      <td>4960</td>\n",
       "      <td>5</td>\n",
       "      <td>311</td>\n",
       "      <td>162</td>\n",
       "      <td>0.032661</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>805</th>\n",
       "      <td>4501049</td>\n",
       "      <td>9112</td>\n",
       "      <td>94</td>\n",
       "      <td>885</td>\n",
       "      <td>152</td>\n",
       "      <td>0.016681</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1235</th>\n",
       "      <td>10095384</td>\n",
       "      <td>8474</td>\n",
       "      <td>312</td>\n",
       "      <td>519</td>\n",
       "      <td>108</td>\n",
       "      <td>0.012745</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1903</th>\n",
       "      <td>13492065</td>\n",
       "      <td>3008</td>\n",
       "      <td>1</td>\n",
       "      <td>259</td>\n",
       "      <td>108</td>\n",
       "      <td>0.035904</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>...</th>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "      <td>...</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18083</th>\n",
       "      <td>132541898</td>\n",
       "      <td>3181</td>\n",
       "      <td>55</td>\n",
       "      <td>146</td>\n",
       "      <td>108</td>\n",
       "      <td>0.033952</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18312</th>\n",
       "      <td>133757576</td>\n",
       "      <td>2854</td>\n",
       "      <td>49</td>\n",
       "      <td>197</td>\n",
       "      <td>128</td>\n",
       "      <td>0.044849</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18405</th>\n",
       "      <td>134238708</td>\n",
       "      <td>1626</td>\n",
       "      <td>0</td>\n",
       "      <td>222</td>\n",
       "      <td>135</td>\n",
       "      <td>0.083026</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18991</th>\n",
       "      <td>137178399</td>\n",
       "      <td>2801</td>\n",
       "      <td>26</td>\n",
       "      <td>36</td>\n",
       "      <td>132</td>\n",
       "      <td>0.047126</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19499</th>\n",
       "      <td>139887505</td>\n",
       "      <td>3130</td>\n",
       "      <td>210</td>\n",
       "      <td>163</td>\n",
       "      <td>101</td>\n",
       "      <td>0.032268</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "<p>71 rows × 6 columns</p>\n",
       "</div>"
      ],
      "text/plain": [
       "         user_id  browse  collect  add shopping cart  purchase       ctr\n",
       "678      3788803    6563      136                294       123  0.018741\n",
       "781      4406018    4960        5                311       162  0.032661\n",
       "805      4501049    9112       94                885       152  0.016681\n",
       "1235    10095384    8474      312                519       108  0.012745\n",
       "1903    13492065    3008        1                259       108  0.035904\n",
       "...          ...     ...      ...                ...       ...       ...\n",
       "18083  132541898    3181       55                146       108  0.033952\n",
       "18312  133757576    2854       49                197       128  0.044849\n",
       "18405  134238708    1626        0                222       135  0.083026\n",
       "18991  137178399    2801       26                 36       132  0.047126\n",
       "19499  139887505    3130      210                163       101  0.032268\n",
       "\n",
       "[71 rows x 6 columns]"
      ]
     },
     "execution_count": 90,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t = df_user_stat[(df_user_stat['purchase'] >100) ]\n",
    "t"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "从上表可以看出购买次数很多，可能是购物狂等等"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 94,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-10-07T07:42:40.504450Z",
     "start_time": "2020-10-07T07:42:40.469448Z"
    },
    "scrolled": true
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>user_id</th>\n",
       "      <th>browse</th>\n",
       "      <th>collect</th>\n",
       "      <th>add shopping cart</th>\n",
       "      <th>purchase</th>\n",
       "      <th>ctr</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>459</th>\n",
       "      <td>2717587</td>\n",
       "      <td>17878</td>\n",
       "      <td>34</td>\n",
       "      <td>1689</td>\n",
       "      <td>60</td>\n",
       "      <td>0.003356</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>562</th>\n",
       "      <td>3279691</td>\n",
       "      <td>18587</td>\n",
       "      <td>1763</td>\n",
       "      <td>3001</td>\n",
       "      <td>13</td>\n",
       "      <td>0.000699</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2265</th>\n",
       "      <td>15330397</td>\n",
       "      <td>24737</td>\n",
       "      <td>781</td>\n",
       "      <td>190</td>\n",
       "      <td>45</td>\n",
       "      <td>0.001819</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2716</th>\n",
       "      <td>17562481</td>\n",
       "      <td>15002</td>\n",
       "      <td>32</td>\n",
       "      <td>312</td>\n",
       "      <td>16</td>\n",
       "      <td>0.001067</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7021</th>\n",
       "      <td>40372444</td>\n",
       "      <td>23115</td>\n",
       "      <td>24</td>\n",
       "      <td>973</td>\n",
       "      <td>95</td>\n",
       "      <td>0.004110</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>9109</th>\n",
       "      <td>51381793</td>\n",
       "      <td>16896</td>\n",
       "      <td>261</td>\n",
       "      <td>684</td>\n",
       "      <td>30</td>\n",
       "      <td>0.001776</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11886</th>\n",
       "      <td>100521298</td>\n",
       "      <td>17243</td>\n",
       "      <td>327</td>\n",
       "      <td>57</td>\n",
       "      <td>1</td>\n",
       "      <td>0.000058</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13396</th>\n",
       "      <td>108461135</td>\n",
       "      <td>18023</td>\n",
       "      <td>439</td>\n",
       "      <td>244</td>\n",
       "      <td>24</td>\n",
       "      <td>0.001332</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13818</th>\n",
       "      <td>110581771</td>\n",
       "      <td>19176</td>\n",
       "      <td>2806</td>\n",
       "      <td>414</td>\n",
       "      <td>168</td>\n",
       "      <td>0.008761</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         user_id  browse  collect  add shopping cart  purchase       ctr\n",
       "459      2717587   17878       34               1689        60  0.003356\n",
       "562      3279691   18587     1763               3001        13  0.000699\n",
       "2265    15330397   24737      781                190        45  0.001819\n",
       "2716    17562481   15002       32                312        16  0.001067\n",
       "7021    40372444   23115       24                973        95  0.004110\n",
       "9109    51381793   16896      261                684        30  0.001776\n",
       "11886  100521298   17243      327                 57         1  0.000058\n",
       "13396  108461135   18023      439                244        24  0.001332\n",
       "13818  110581771   19176     2806                414       168  0.008761"
      ]
     },
     "execution_count": 94,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t = df_user_stat[(df_user_stat['browse'] >15000) ]\n",
    "t"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "从上表可以看出浏览次数很多，可能是整天逛手淘，但ctr不高，他们购物可能会来回比较，找到性价比最高的"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "数据集P的微观分析  \n",
    "得出数据集P总计42万多件商品，分属于1054个商品类，其中最多的商品类4561包括3万多件商品，最少的类别只有一件商品。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 113,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-10-07T07:59:58.110357Z",
     "start_time": "2020-10-07T07:59:58.002350Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "商品个数：422858\n",
      "商品类别：1054\n"
     ]
    }
   ],
   "source": [
    "print('商品个数：{}'.format(df_item['item_id'].nunique()))\n",
    "print('商品类别：{}'.format(df_item['item_category'].nunique()))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 114,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2020-10-07T08:00:02.492607Z",
     "start_time": "2020-10-07T08:00:02.413603Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "item_category\n",
       "4561     32715\n",
       "3064     19026\n",
       "10431    16208\n",
       "7140     16148\n",
       "6648     16069\n",
       "         ...  \n",
       "9853         1\n",
       "5983         1\n",
       "5786         1\n",
       "10011        1\n",
       "5736         1\n",
       "Name: item_id, Length: 1054, dtype: int64"
      ]
     },
     "execution_count": 114,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df_item.groupby('item_category')['item_id'].agg('count').sort_values(ascending=False)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.2"
  },
  "toc": {
   "base_numbering": 1,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
